University of Washington Professional and Continuing Education

Big Data 230B Emerging Technologies In Big Data Final Project

Weather & Transportation: Streaming the Data, Finding Correlations

8/23/2017

Team D-Hawks: John Bever, Karunakar Kotha, Leo Salemann, Shiva Vuppala, Wenfan Xu

Generating the Data

The data processed in this notebook came frome a set of python scripts using kafka. Three producres where run against the follow Web API's.

Washington State Department of Transportation (WSDOT) Traffic Travel Times

WSDOT Weather

Yahoo Weather, via Yahoo Query Language (YQL)

Further Web API documentation can be found here:

WSDOT

Yahoo YQL

WOEID (used for YQL to search by location)

Another good resource for Web API's in general is www.programmableweb.com

Each producer would call its respective web API, then send the entire response (a JSON document) as a kfafka message. A corresondindg consumer script receeved the message and saved each json document as a seprate file. This notebook reads the json files and forms pandas data frames. Data is visualized in chart form with Altair, and as maps with an OpenStreetMap background using Folium.

Exploring JSON Files

In this notebook was developed on a vagrant ubutnu desktop VM, so our home directory is /home/vagrant. We'll assme you've been running the kafka scripts for awhile, have accumulated some json files, and stored them in the following folder structure:

Folder Path Description
/home/vagrant/json/wsdot_weather WA State Dept. of Trasnsportation Weather
/home/vagrant/json/wsdot_traffic WA State Dept. of Transprotation Travel Times

To make life easier, here's a "jsondir" variable to store the location of your json files.

In [17]:
jsondir = "/home/vagrant/json"

WSDOT Traffic Data

There can be A LOT of files. So we'l list them in single column (ls -l) then display only the first bunch of them (| head)

In [18]:
!ls -1 $jsondir/wsdot_traffic | head
2017-08-13-23-39-28
2017-08-14-00-09-28
2017-08-14-00-39-28
2017-08-14-01-09-28
2017-08-14-01-39-28
2017-08-14-02-09-28
2017-08-14-02-39-28
2017-08-14-03-09-28
2017-08-14-03-39-28
2017-08-14-04-09-28

Viewing a file

The raw json files are difficult to read, as they don't come with newlines. There's a brief peek using that same head command

In [19]:
!head $jsondir/wsdot_traffic/2017-08-13-23-39-28
[{"AverageTime":30,"CurrentTime":34,"Description":"Everett to Downtown Seattle using HOV lanes","Distance":26.72,"EndPoint":{"Description":"I-5 @ University St in Seattle","Direction":"S","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"Name":"HOV Everett-Seattle (SB AM)","StartPoint":{"Description":"I-5 @ 41st St in Everett","Direction":"S","Latitude":47.924280000,"Longitude":-122.265480000,"MilePost":192.55,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":2},{"AverageTime":27,"CurrentTime":28,"Description":"Downtown Seattle to Everett using HOV lanes","Distance":26.94,"EndPoint":{"Description":"I-5 @ 41st St in Everett","Direction":"N","Latitude":47.924280000,"Longitude":-122.265480000,"MilePost":192.77,"RoadName":"I-5"},"Name":"HOV Seattle-Everett (NB PM)","StartPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":3},{"AverageTime":27,"CurrentTime":28,"Description":"Downtown Seattle to Everett","Distance":26.94,"EndPoint":{"Description":"I-5 @ 41st St in Everett","Direction":"N","Latitude":47.924280000,"Longitude":-122.265480000,"MilePost":192.77,"RoadName":"I-5"},"Name":"Seattle-Everett (NB PM)","StartPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":4},{"AverageTime":11,"CurrentTime":11,"Description":"Downtown Bellevue to Issaquah","Distance":9.55,"EndPoint":{"Description":"I-90 @ Front St in Issaquah","Direction":"E","Latitude":47.541799000,"Longitude":-122.037396000,"MilePost":16.96,"RoadName":"I-90"},"Name":"Bellevue-Issaquah (EB PM)","StartPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"S","Latitude":47.613800000,"Longitude":-122.188920000,"MilePost":13.33,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":5},{"AverageTime":11,"CurrentTime":11,"Description":"Downtown Bellevue to Issaquah using HOV lanes","Distance":9.55,"EndPoint":{"Description":"I-90 @ Front St in Issaquah","Direction":"E","Latitude":47.541799000,"Longitude":-122.037396000,"MilePost":16.96,"RoadName":"I-90"},"Name":"HOV Bellevue-Issaquah (EB PM)","StartPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"S","Latitude":47.613800000,"Longitude":-122.188920000,"MilePost":13.33,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":6},{"AverageTime":10,"CurrentTime":10,"Description":"Issaquah to Downtown Bellevue using HOV lanes","Distance":9.48,"EndPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"N","Latitude":47.613610000,"Longitude":-122.187970000,"MilePost":13.60,"RoadName":"I-405"},"Name":"HOV Issaquah-Bellevue (WB AM)","StartPoint":{"Description":"I-90 @ Front St in Issaquah","Direction":"W","Latitude":47.541799000,"Longitude":-122.037396000,"MilePost":16.96,"RoadName":"I-90"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":7},{"AverageTime":11,"CurrentTime":13,"Description":"Issaquah to Downtown Bellevue","Distance":9.48,"EndPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"N","Latitude":47.613610000,"Longitude":-122.187970000,"MilePost":13.60,"RoadName":"I-405"},"Name":"Issaquah-Bellevue (WB AM)","StartPoint":{"Description":"I-90 @ Front St in Issaquah","Direction":"W","Latitude":47.541799000,"Longitude":-122.037396000,"MilePost":16.96,"RoadName":"I-90"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":8},{"AverageTime":26,"CurrentTime":26,"Description":"Downtown Bellevue to Everett","Distance":26.06,"EndPoint":{"Description":"I-5 @ 41st St in Everett","Direction":"N","Latitude":47.924280000,"Longitude":-122.265480000,"MilePost":192.77,"RoadName":"I-5"},"Name":"Bellevue-Everett (NB PM)","StartPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"N","Latitude":47.613610000,"Longitude":-122.187970000,"MilePost":13.60,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":9},{"AverageTime":28,"CurrentTime":27,"Description":"Everett to Downtown Bellevue","Distance":26.34,"EndPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"S","Latitude":47.613800000,"Longitude":-122.188920000,"MilePost":13.33,"RoadName":"I-405"},"Name":"Everett-Bellevue (SB AM)","StartPoint":{"Description":"I-5 @ 41st St in Everett","Direction":"S","Latitude":47.924280000,"Longitude":-122.265480000,"MilePost":192.55,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":10},{"AverageTime":26,"CurrentTime":26,"Description":"Downtown Bellevue to Everett using HOV lanes","Distance":26.06,"EndPoint":{"Description":"I-5 @ 41st St in Everett","Direction":"N","Latitude":47.924280000,"Longitude":-122.265480000,"MilePost":192.77,"RoadName":"I-5"},"Name":"HOV Bellevue-Everett (NB PM)","StartPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"N","Latitude":47.613610000,"Longitude":-122.187970000,"MilePost":13.60,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":11},{"AverageTime":27,"CurrentTime":27,"Description":"Everett to Downtown Bellevue using HOV lanes","Distance":26.34,"EndPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"S","Latitude":47.613800000,"Longitude":-122.188920000,"MilePost":13.33,"RoadName":"I-405"},"Name":"HOV Everett-Bellevue (SB AM)","StartPoint":{"Description":"I-5 @ 41st St in Everett","Direction":"S","Latitude":47.924280000,"Longitude":-122.265480000,"MilePost":192.55,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":12},{"AverageTime":17,"CurrentTime":37,"Description":"Federal Way to SeaTac","Distance":8.82,"EndPoint":{"Description":"I-5 @ S 188th St in SeaTac","Direction":"N","Latitude":47.438760000,"Longitude":-122.269470000,"MilePost":152.80,"RoadName":"I-5"},"Name":"Federal Way-SeaTac (NB AM)","StartPoint":{"Description":"I-5 @ S 320th St in Federal Way","Direction":"N","Latitude":47.315446000,"Longitude":-122.296702000,"MilePost":143.98,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":13},{"AverageTime":12,"CurrentTime":10,"Description":"Federal Way to SeaTac using HOV lanes","Distance":8.82,"EndPoint":{"Description":"I-5 @ S 188th St in SeaTac","Direction":"N","Latitude":47.438760000,"Longitude":-122.269470000,"MilePost":152.80,"RoadName":"I-5"},"Name":"HOV Federal Way-SeaTac (NB AM)","StartPoint":{"Description":"I-5 @ S 320th St in Federal Way","Direction":"N","Latitude":47.315446000,"Longitude":-122.296702000,"MilePost":143.98,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":14},{"AverageTime":9,"CurrentTime":9,"Description":"SeaTac to Federal Way using HOV lanes","Distance":9.16,"EndPoint":{"Description":"I-5 @ S 320th St in Federal Way","Direction":"S","Latitude":47.313840000,"Longitude":-122.298609000,"MilePost":143.64,"RoadName":"I-5"},"Name":"HOV SeaTac-Federal Way (SB PM)","StartPoint":{"Description":"I-5 @ S 188th St in SeaTac","Direction":"S","Latitude":47.438760000,"Longitude":-122.269470000,"MilePost":152.80,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":15},{"AverageTime":9,"CurrentTime":9,"Description":"SeaTac to Federal Way","Distance":9.16,"EndPoint":{"Description":"I-5 @ S 320th St in Federal Way","Direction":"S","Latitude":47.313840000,"Longitude":-122.298609000,"MilePost":143.64,"RoadName":"I-5"},"Name":"SeaTac-Federal Way (SB PM)","StartPoint":{"Description":"I-5 @ S 188th St in SeaTac","Direction":"S","Latitude":47.438760000,"Longitude":-122.269470000,"MilePost":152.80,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":16},{"AverageTime":33,"CurrentTime":58,"Description":"Federal Way to Downtown Seattle","Distance":22.15,"EndPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"Name":"Federal Way-Seattle (NB AM)","StartPoint":{"Description":"I-5 @ S 320th St in Federal Way","Direction":"N","Latitude":47.315446000,"Longitude":-122.296702000,"MilePost":143.98,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":17},{"AverageTime":28,"CurrentTime":25,"Description":"Federal Way to Downtown Seattle using HOV lanes","Distance":22.15,"EndPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"Name":"HOV Federal Way-Seattle (NB AM)","StartPoint":{"Description":"I-5 @ S 320th St in Federal Way","Direction":"N","Latitude":47.315446000,"Longitude":-122.296702000,"MilePost":143.98,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":18},{"AverageTime":22,"CurrentTime":23,"Description":"Downtown Seattle to Federal Way using HOV lanes","Distance":22.19,"EndPoint":{"Description":"I-5 @ S 320th St in Federal Way","Direction":"S","Latitude":47.313840000,"Longitude":-122.298609000,"MilePost":143.64,"RoadName":"I-5"},"Name":"HOV Seattle-Federal Way (SB PM)","StartPoint":{"Description":"I-5 @ University St in Seattle","Direction":"S","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":19},{"AverageTime":22,"CurrentTime":22,"Description":"Downtown Seattle to Federal Way","Distance":22.19,"EndPoint":{"Description":"I-5 @ S 320th St in Federal Way","Direction":"S","Latitude":47.313840000,"Longitude":-122.298609000,"MilePost":143.64,"RoadName":"I-5"},"Name":"Seattle-Federal Way (SB PM)","StartPoint":{"Description":"I-5 @ University St in Seattle","Direction":"S","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":20},{"AverageTime":27,"CurrentTime":50,"Description":"Downtown Bellevue to Federal Way","Distance":24.56,"EndPoint":{"Description":"I-5 @ S 320th St in Federal Way","Direction":"S","Latitude":47.313840000,"Longitude":-122.298609000,"MilePost":143.64,"RoadName":"I-5"},"Name":"Bellevue-Federal Way (SB PM)","StartPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"S","Latitude":47.613800000,"Longitude":-122.188920000,"MilePost":13.33,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":21},{"AverageTime":35,"CurrentTime":56,"Description":"Federal Way to Downtown Bellevue","Distance":23.58,"EndPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"N","Latitude":47.613610000,"Longitude":-122.187970000,"MilePost":13.60,"RoadName":"I-405"},"Name":"Federal Way-Bellevue (NB AM)","StartPoint":{"Description":"I-5 @ S 320th St in Federal Way","Direction":"N","Latitude":47.315446000,"Longitude":-122.296702000,"MilePost":143.98,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":22},{"AverageTime":26,"CurrentTime":33,"Description":"Downtown Bellevue to Federal Way using HOV lanes","Distance":24.56,"EndPoint":{"Description":"I-5 @ S 320th St in Federal Way","Direction":"S","Latitude":47.313840000,"Longitude":-122.298609000,"MilePost":143.64,"RoadName":"I-5"},"Name":"HOV Bellevue-Federal Way (SB PM)","StartPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"S","Latitude":47.613800000,"Longitude":-122.188920000,"MilePost":13.33,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":23},{"AverageTime":30,"CurrentTime":27,"Description":"Federal Way to Downtown Bellevue using HOV lanes","Distance":23.58,"EndPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"N","Latitude":47.613610000,"Longitude":-122.187970000,"MilePost":13.60,"RoadName":"I-405"},"Name":"HOV Federal Way-Bellevue (NB AM)","StartPoint":{"Description":"I-5 @ S 320th St in Federal Way","Direction":"N","Latitude":47.315446000,"Longitude":-122.296702000,"MilePost":143.98,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":24},{"AverageTime":16,"CurrentTime":17,"Description":"Downtown Seattle to Lynnwood using HOV lanes","Distance":15.73,"EndPoint":{"Description":"I-5 @ 196th St SW in Lynnwood","Direction":"N","Latitude":47.819545000,"Longitude":-122.279109000,"MilePost":181.56,"RoadName":"I-5"},"Name":"HOV Seattle-Lynnwood (NB PM)","StartPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":25},{"AverageTime":19,"CurrentTime":23,"Description":"Lynnwood to Downtown Seattle","Distance":15.23,"EndPoint":{"Description":"I-5 @ University St in Seattle","Direction":"S","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"Name":"Lynnwood-Seattle (SB AM)","StartPoint":{"Description":"I-5 @ 196th St SW in Lynnwood","Direction":"S","Latitude":47.817269000,"Longitude":-122.285137000,"MilePost":181.06,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":26},{"AverageTime":16,"CurrentTime":18,"Description":"Downtown Seattle to Lynnwood","Distance":15.73,"EndPoint":{"Description":"I-5 @ 196th St SW in Lynnwood","Direction":"N","Latitude":47.819545000,"Longitude":-122.279109000,"MilePost":181.56,"RoadName":"I-5"},"Name":"Seattle-Lynnwood (NB PM)","StartPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":27},{"AverageTime":0,"CurrentTime":0,"Description":"Lynnwood to Downtown Seattle using express lanes and HOV lanes","Distance":0.00,"EndPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"Name":"HOV Lynnwood-Seattle (SB REV)","StartPoint":{"Description":"I-5 @ 196th St SW in Lynnwood","Direction":"S","Latitude":47.817269000,"Longitude":-122.285137000,"MilePost":181.06,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":28},{"AverageTime":0,"CurrentTime":0,"Description":"Lynnwood to Downtown Seattle using express lanes","Distance":0.00,"EndPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"Name":"Lynnwood-Seattle (SB REV)","StartPoint":{"Description":"I-5 @ 196th St SW in Lynnwood","Direction":"S","Latitude":47.817269000,"Longitude":-122.285137000,"MilePost":181.06,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":29},{"AverageTime":17,"CurrentTime":21,"Description":"Renton to Downtown Seattle using HOV lanes","Distance":13.77,"EndPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"Name":"HOV Renton-Seattle (NB AM)","StartPoint":{"Description":"I-405 @ SR 167 in Renton","Direction":"S","Latitude":47.467434000,"Longitude":-122.219631000,"MilePost":2.21,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":30},{"AverageTime":15,"CurrentTime":14,"Description":"Downtown Seattle to Renton using HOV lanes","Distance":13.61,"EndPoint":{"Description":"I-405 @ SR 167 in Renton","Direction":"N","Latitude":47.467434000,"Longitude":-122.219631000,"MilePost":2.21,"RoadName":"I-405"},"Name":"HOV Seattle-Renton (SB PM)","StartPoint":{"Description":"I-5 @ University St in Seattle","Direction":"S","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":31},{"AverageTime":17,"CurrentTime":36,"Description":"Renton to Downtown Seattle","Distance":13.69,"EndPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"Name":"Renton-Seattle (NB AM)","StartPoint":{"Description":"I-405 @ SR 167 in Renton","Direction":"S","Latitude":47.467434000,"Longitude":-122.219631000,"MilePost":2.21,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":32},{"AverageTime":14,"CurrentTime":15,"Description":"Downtown Seattle to Renton","Distance":13.61,"EndPoint":{"Description":"I-405 @ SR 167 in Renton","Direction":"N","Latitude":47.467434000,"Longitude":-122.219631000,"MilePost":2.21,"RoadName":"I-405"},"Name":"Seattle-Renton (SB PM)","StartPoint":{"Description":"I-5 @ University St in Seattle","Direction":"S","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":33},{"AverageTime":0,"CurrentTime":0,"Description":"Northgate to Downtown Seattle using express lanes","Distance":0.00,"EndPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"Name":"Shoreline-Seattle (SB REV)","StartPoint":{"Description":"I-5 @ NE Northgate Way in Northgate","Direction":"S","Latitude":47.774180000,"Longitude":-122.329912000,"MilePost":171.62,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":34},{"AverageTime":16,"CurrentTime":16,"Description":"Downtown Bellevue to Lynnwood","Distance":15.61,"EndPoint":{"Description":"I-5 @ SR 526 in Lynnwood","Direction":"N","Latitude":47.920431000,"Longitude":-122.206552000,"MilePost":29.53,"RoadName":"I-405"},"Name":"Bellevue-Lynnwood (NB PM)","StartPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"N","Latitude":47.613610000,"Longitude":-122.187970000,"MilePost":13.92,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":35},{"AverageTime":15,"CurrentTime":15,"Description":"Downtown Bellevue to Lynnwood using HOV lanes","Distance":14.90,"EndPoint":{"Description":"I-5 @ SR 526 in Lynnwood","Direction":"N","Latitude":47.920431000,"Longitude":-122.206552000,"MilePost":29.53,"RoadName":"I-405"},"Name":"HOV Bellevue-Lynnwood (NB PM)","StartPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"N","Latitude":47.613610000,"Longitude":-122.187970000,"MilePost":14.63,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":36},{"AverageTime":16,"CurrentTime":16,"Description":"Lynnwood to Downtown Bellevue using HOV lanes","Distance":16.20,"EndPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"S","Latitude":47.613800000,"Longitude":-122.188920000,"MilePost":13.33,"RoadName":"I-405"},"Name":"HOV Lynnwood-Bellevue (SB AM)","StartPoint":{"Description":"I-5 @ SR 526 in Lynnwood","Direction":"S","Latitude":47.920431000,"Longitude":-122.206552000,"MilePost":29.53,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":37},{"AverageTime":16,"CurrentTime":16,"Description":"Lynnwood to Downtown Bellevue","Distance":16.20,"EndPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"S","Latitude":47.613800000,"Longitude":-122.188920000,"MilePost":13.33,"RoadName":"I-405"},"Name":"Lynnwood-Bellevue (SB AM)","StartPoint":{"Description":"I-5 @ SR 526 in Lynnwood","Direction":"S","Latitude":47.920431000,"Longitude":-122.206552000,"MilePost":29.53,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":38},{"AverageTime":0,"CurrentTime":0,"Description":"Everett to Downtown Seattle using express lanes","Distance":0.00,"EndPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"Name":"Everett-Seattle (SB REV)","StartPoint":{"Description":"I-5 @ 41st St in Everett","Direction":"S","Latitude":47.924280000,"Longitude":-122.265480000,"MilePost":192.55,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":39},{"AverageTime":0,"CurrentTime":0,"Description":"Everett to Downtown Seattle using express lanes and HOV lanes","Distance":0.00,"EndPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"Name":"1B HOV Everett-Seattle (SB REV)","StartPoint":{"Description":"I-5 @ 41st St in Everett","Direction":"S","Latitude":47.924280000,"Longitude":-122.265480000,"MilePost":192.55,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":40},{"AverageTime":16,"CurrentTime":15,"Description":"SeaTac to Downtown Seattle using HOV lanes","Distance":13.33,"EndPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"Name":"HOV SeaTac-Seattle (NB AM)","StartPoint":{"Description":"I-5 @ S 188th St in SeaTac","Direction":"N","Latitude":47.438760000,"Longitude":-122.269470000,"MilePost":152.80,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":41},{"AverageTime":14,"CurrentTime":13,"Description":"Downtown Seattle to SeaTac using HOV lanes","Distance":13.03,"EndPoint":{"Description":"I-5 @ S 188th St in SeaTac","Direction":"S","Latitude":47.438760000,"Longitude":-122.269470000,"MilePost":152.80,"RoadName":"I-5"},"Name":"HOV Seattle-SeaTac (SB PM)","StartPoint":{"Description":"I-5 @ University St in Seattle","Direction":"S","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":42},{"AverageTime":16,"CurrentTime":17,"Description":"SeaTac to Downtown Seattle","Distance":13.03,"EndPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"Name":"SeaTac-Seattle (NB AM)","StartPoint":{"Description":"I-5 @ S 188th St in SeaTac","Direction":"N","Latitude":47.438760000,"Longitude":-122.269470000,"MilePost":152.80,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":43},{"AverageTime":14,"CurrentTime":13,"Description":"Downtown Seattle to SeaTac","Distance":13.03,"EndPoint":{"Description":"I-5 @ S 188th St in SeaTac","Direction":"S","Latitude":47.438760000,"Longitude":-122.269470000,"MilePost":152.80,"RoadName":"I-5"},"Name":"Seattle-SeaTac (SB PM)","StartPoint":{"Description":"I-5 @ University St in Seattle","Direction":"S","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":44},{"AverageTime":31,"CurrentTime":55,"Description":"Alderwood to Southcenter via I-405","Distance":29.42,"EndPoint":{"Description":"I-405 @ I-5 in Tukwila","Direction":"S","Latitude":47.463303000,"Longitude":-122.262701000,"MilePost":0.11,"RoadName":"I-405"},"Name":"Alderwood to Southcenter via I-405 (SB AM)","StartPoint":{"Description":"I-405 @ SR 525 in Lynnwood","Direction":"S","Latitude":47.823700000,"Longitude":-122.251700000,"MilePost":29.53,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":51},{"AverageTime":32,"CurrentTime":35,"Description":"Alderwood to Southcenter via I-5","Distance":27.97,"EndPoint":{"Description":"I-5 @ I-405 in Tukwila","Direction":"S","Latitude":47.464800000,"Longitude":-122.265700000,"MilePost":154.65,"RoadName":"I-5"},"Name":"Alderwood to Southcenter via I-5 (SB AM)","StartPoint":{"Description":"I-5 @ I-405 in Lynnwood","Direction":"S","Latitude":47.830800000,"Longitude":-122.263600000,"MilePost":182.62,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":52},{"AverageTime":32,"CurrentTime":31,"Description":"Southcenter to Alderwood via I-405","Distance":29.42,"EndPoint":{"Description":"I-5 @ I-405 in Lynnwood","Direction":"N","Latitude":47.830800000,"Longitude":-122.263600000,"MilePost":29.53,"RoadName":"I-405"},"Name":"Southcenter to Alderwood via I-405 (NB PM)","StartPoint":{"Description":"I-405 @ I-5 in Tukwila","Direction":"N","Latitude":47.463303000,"Longitude":-122.262701000,"MilePost":0.11,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":53},{"AverageTime":31,"CurrentTime":31,"Description":"Southcenter to Alderwood via I-5","Distance":27.39,"EndPoint":{"Description":"I-5 @ I-405 in Lynnwood","Direction":"N","Latitude":47.830800000,"Longitude":-122.263600000,"MilePost":182.04,"RoadName":"I-5"},"Name":"Southcenter to Alderwood via I-5 (NB PM)","StartPoint":{"Description":"I-5 @ I-405 in Tukwila","Direction":"N","Latitude":47.464800000,"Longitude":-122.265700000,"MilePost":154.65,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":54},{"AverageTime":9,"CurrentTime":9,"Description":"Downtown Bellevue to SR 522 in Bothell using HOV lanes","Distance":9.41,"EndPoint":{"Description":"I-405 @ SR 522 in Bothell","Direction":"N","Latitude":47.751518000,"Longitude":-122.187178000,"MilePost":23.01,"RoadName":"I-405"},"Name":"HOV Bellevue-SR 522 (NB PM)","StartPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"N","Latitude":47.613610000,"Longitude":-122.187970000,"MilePost":13.60,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":56},{"AverageTime":10,"CurrentTime":10,"Description":"SR 522 in Bothell to Downtown Bellevue using HOV lanes","Distance":9.68,"EndPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"S","Latitude":47.613800000,"Longitude":-122.188920000,"MilePost":13.33,"RoadName":"I-405"},"Name":"HOV SR 522-Bellevue (SB AM)","StartPoint":{"Description":"I-405 @ SR 522 in Bothell","Direction":"S","Latitude":47.751518000,"Longitude":-122.187178000,"MilePost":23.01,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":57},{"AverageTime":10,"CurrentTime":10,"Description":"SR 522 in Bothell to Downtown Bellevue","Distance":9.68,"EndPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"S","Latitude":47.613800000,"Longitude":-122.188920000,"MilePost":13.33,"RoadName":"I-405"},"Name":"SR 522-Bellevue","StartPoint":{"Description":"I-405 @ SR 522 in Bothell","Direction":"S","Latitude":47.751518000,"Longitude":-122.187178000,"MilePost":23.01,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":58},{"AverageTime":24,"CurrentTime":22,"Description":"Woodinville to Downtown Seattle","Distance":20.26,"EndPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"Name":"Woodinville-Seattle via I-90 (WB AM)","StartPoint":{"Description":"SR 522 @ SR 202 in Woodinville","Direction":"S","Latitude":47.758180000,"Longitude":-122.164020000,"MilePost":23.01,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":59},{"AverageTime":20,"CurrentTime":20,"Description":"Woodinville to Downtown Seattle","Distance":18.25,"EndPoint":{"Description":"I-5 @ University St in Seattle","Direction":"S","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"Name":"Woodinville-Seattle via SR 520 (WB AM)","StartPoint":{"Description":"SR 522 @ SR 202 in Woodinville","Direction":"S","Latitude":47.758180000,"Longitude":-122.164020000,"MilePost":23.01,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":60},{"AverageTime":15,"CurrentTime":39,"Description":"Downtown Bellevue to Tukwila","Distance":13.22,"EndPoint":{"Description":"I-405 @ I-5 in Tukwila","Direction":"S","Latitude":47.463303000,"Longitude":-122.262701000,"MilePost":0.11,"RoadName":"I-405"},"Name":"Bellevue-Tukwila (SB PM)","StartPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"S","Latitude":47.613800000,"Longitude":-122.188920000,"MilePost":13.33,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":63},{"AverageTime":15,"CurrentTime":21,"Description":"Downtown Bellevue to Tukwila using HOV lanes","Distance":13.22,"EndPoint":{"Description":"I-405 @ I-5 in Tukwila","Direction":"S","Latitude":47.463303000,"Longitude":-122.262701000,"MilePost":0.11,"RoadName":"I-405"},"Name":"HOV Bellevue-Tukwila (SB PM)","StartPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"S","Latitude":47.613800000,"Longitude":-122.188920000,"MilePost":13.33,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":64},{"AverageTime":17,"CurrentTime":15,"Description":"Tukwila to Downtown Bellevue using HOV lanes","Distance":13.49,"EndPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"N","Latitude":47.613610000,"Longitude":-122.187970000,"MilePost":13.60,"RoadName":"I-405"},"Name":"HOV Tukwila-Bellevue (NB AM)","StartPoint":{"Description":"I-405 @ I-5 in Tukwila","Direction":"N","Latitude":47.463303000,"Longitude":-122.262701000,"MilePost":0.11,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":65},{"AverageTime":15,"CurrentTime":22,"Description":"Auburn to Renton","Distance":9.76,"EndPoint":{"Description":"SR 167 @ I-405 in Renton","Direction":"N","Latitude":47.458000000,"Longitude":-122.217000000,"MilePost":25.62,"RoadName":"SR 167"},"Name":"Auburn-Renton (NB AM)","StartPoint":{"Description":"SR 167 @ 15th St NW in Auburn","Direction":"N","Latitude":47.323000000,"Longitude":-122.244000000,"MilePost":15.86,"RoadName":"SR 167"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":67},{"AverageTime":12,"CurrentTime":14,"Description":"Auburn to Renton using HOV lanes","Distance":9.76,"EndPoint":{"Description":"SR 167 @ I-405 in Renton","Direction":"N","Latitude":47.458000000,"Longitude":-122.217000000,"MilePost":25.62,"RoadName":"SR 167"},"Name":"HOV Auburn-Renton (NB AM)","StartPoint":{"Description":"SR 167 @ 15th St NW in Auburn","Direction":"N","Latitude":47.323000000,"Longitude":-122.244000000,"MilePost":15.86,"RoadName":"SR 167"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":68},{"AverageTime":10,"CurrentTime":10,"Description":"Renton to Auburn using HOV lanes","Distance":9.76,"EndPoint":{"Description":"SR 167 @ 15th St NW in Auburn","Direction":"S","Latitude":47.323000000,"Longitude":-122.244000000,"MilePost":15.86,"RoadName":"SR 167"},"Name":"HOV Renton-Auburn (SB PM)","StartPoint":{"Description":"SR 167 @ I-405 in Renton","Direction":"S","Latitude":47.458000000,"Longitude":-122.217000000,"MilePost":25.62,"RoadName":"SR 167"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":69},{"AverageTime":10,"CurrentTime":10,"Description":"Renton to Auburn","Distance":9.76,"EndPoint":{"Description":"SR 167 @ 15th St NW in Auburn","Direction":"S","Latitude":47.323000000,"Longitude":-122.244000000,"MilePost":15.86,"RoadName":"SR 167"},"Name":"Renton-Auburn (SB PM)","StartPoint":{"Description":"SR 167 @ I-405 in Renton","Direction":"S","Latitude":47.458000000,"Longitude":-122.217000000,"MilePost":25.62,"RoadName":"SR 167"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":70},{"AverageTime":19,"CurrentTime":17,"Description":"Issaquah to Downtown Seattle using HOV lanes","Distance":15.48,"EndPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"Name":"HOV Issaquah-Seattle (WB PM)","StartPoint":{"Description":"I-90 @ Front St in Issaquah","Direction":"W","Latitude":47.541799000,"Longitude":-122.037396000,"MilePost":16.96,"RoadName":"I-90"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":71},{"AverageTime":16,"CurrentTime":17,"Description":"Downtown Seattle to Issaquah using HOV lanes","Distance":15.71,"EndPoint":{"Description":"I-90 @ Front St in Issaquah","Direction":"E","Latitude":47.541799000,"Longitude":-122.037396000,"MilePost":16.96,"RoadName":"I-90"},"Name":"HOV Downtown Seattle-Issaquah (EB AM)","StartPoint":{"Description":"I-5 @ University St in Seattle","Direction":"S","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":72},{"AverageTime":21,"CurrentTime":19,"Description":"Issaquah to Downtown Seattle","Distance":15.48,"EndPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"Name":"Issaquah-Seattle (WB PM)","StartPoint":{"Description":"I-90 @ Front St in Issaquah","Direction":"W","Latitude":47.541799000,"Longitude":-122.037396000,"MilePost":16.96,"RoadName":"I-90"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":73},{"AverageTime":16,"CurrentTime":16,"Description":"Downtown Seattle to Issaquah","Distance":15.71,"EndPoint":{"Description":"I-90 @ Front St in Issaquah","Direction":"E","Latitude":47.541799000,"Longitude":-122.037396000,"MilePost":16.96,"RoadName":"I-90"},"Name":"Seattle-Issaquah (EB AM)","StartPoint":{"Description":"I-5 @ University St in Seattle","Direction":"S","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":74},{"AverageTime":15,"CurrentTime":15,"Description":"Redmond to Downtown Seattle using HOV lanes","Distance":14.60,"EndPoint":{"Description":"I-5 @ University St in Seattle","Direction":"S","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"Name":"HOV Redmond-Seattle (WB PM)","StartPoint":{"Description":"SR 520 @ Redmond Way in Redmond","Direction":"W","Latitude":47.668087000,"Longitude":-122.110145000,"MilePost":12.65,"RoadName":"SR 520"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":77},{"AverageTime":15,"CurrentTime":15,"Description":"Downtown Seattle to Redmond using HOV lanes","Distance":14.56,"EndPoint":{"Description":"SR 520 @ Redmond Way in Redmond","Direction":"E","Latitude":47.668087000,"Longitude":-122.110145000,"MilePost":12.66,"RoadName":"SR 520"},"Name":"HOV Seattle-Redmond (EB AM)","StartPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":78},{"AverageTime":15,"CurrentTime":15,"Description":"Redmond to Downtown Seattle","Distance":14.60,"EndPoint":{"Description":"I-5 @ University St in Seattle","Direction":"S","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"Name":"Redmond-Seattle (WB PM)","StartPoint":{"Description":"SR 520 @ Redmond Way in Redmond","Direction":"W","Latitude":47.668087000,"Longitude":-122.110145000,"MilePost":12.65,"RoadName":"SR 520"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":79},{"AverageTime":15,"CurrentTime":15,"Description":"Downtown Seattle to Redmond","Distance":14.56,"EndPoint":{"Description":"SR 520 @ Redmond Way in Redmond","Direction":"E","Latitude":47.668087000,"Longitude":-122.110145000,"MilePost":12.66,"RoadName":"SR 520"},"Name":"Seattle-Redmond (EB AM)","StartPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":80},{"AverageTime":23,"CurrentTime":21,"Description":"Redmond to Downtown Seattle using HOV lanes via I-90","Distance":18.21,"EndPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"Name":"HOV Redmond-Seattle via I-90 (WB PM)","StartPoint":{"Description":"SR 520 @ Redmond Way in Redmond","Direction":"W","Latitude":47.668087000,"Longitude":-122.110145000,"MilePost":12.65,"RoadName":"SR 520"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":81},{"AverageTime":19,"CurrentTime":19,"Description":"Downtown Seattle to Redmond via I-90 using HOV lanes","Distance":17.22,"EndPoint":{"Description":"SR 520 @ Redmond Way in Redmond","Direction":"E","Latitude":47.668087000,"Longitude":-122.110145000,"MilePost":12.66,"RoadName":"SR 520"},"Name":"HOV Seattle-Redmond via I-90 (EB AM)","StartPoint":{"Description":"I-5 @ University St in Seattle","Direction":"S","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":82},{"AverageTime":23,"CurrentTime":21,"Description":"Redmond to Downtown Seattle via I-90","Distance":18.19,"EndPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"Name":"Redmond-Seattle via I-90 (WB PM)","StartPoint":{"Description":"SR 520 @ Redmond Way in Redmond","Direction":"W","Latitude":47.668087000,"Longitude":-122.110145000,"MilePost":12.65,"RoadName":"SR 520"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":83},{"AverageTime":19,"CurrentTime":19,"Description":"Downtown Seattle to Redmond via I-90","Distance":17.22,"EndPoint":{"Description":"SR 520 @ Redmond Way in Redmond","Direction":"E","Latitude":47.668087000,"Longitude":-122.110145000,"MilePost":12.66,"RoadName":"SR 520"},"Name":"Seattle-Redmond via I-90 (EB AM)","StartPoint":{"Description":"I-5 @ University St in Seattle","Direction":"S","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":84},{"AverageTime":11,"CurrentTime":11,"Description":"Downtown Bellevue to Downtown Seattle using SR 520","Distance":9.73,"EndPoint":{"Description":"I-5 @ University St in Seattle","Direction":"S","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"Name":"Bellevue-Seattle via 520 (WB PM)","StartPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"N","Latitude":47.613610000,"Longitude":-122.187970000,"MilePost":13.60,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":89},{"AverageTime":11,"CurrentTime":11,"Description":"Downtown Bellevue to Downtown Seattle via SR 520 using HOV lanes","Distance":9.73,"EndPoint":{"Description":"I-5 @ University St in Seattle","Direction":"S","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"Name":"HOV Bellevue-Seattle via 520 (WB PM)","StartPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"N","Latitude":47.613610000,"Longitude":-122.187970000,"MilePost":13.60,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":90},{"AverageTime":12,"CurrentTime":12,"Description":"Downtown Seattle to Downtown Bellevue via SR 520 using HOV lanes","Distance":10.83,"EndPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"S","Latitude":47.613800000,"Longitude":-122.188920000,"MilePost":13.33,"RoadName":"I-405"},"Name":"HOV Seattle-Bellevue via 520 (EB AM)","StartPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":91},{"AverageTime":11,"CurrentTime":11,"Description":"Downtown Seattle to Downtown Bellevue via SR 520","Distance":9.67,"EndPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"S","Latitude":47.613800000,"Longitude":-122.188920000,"MilePost":13.33,"RoadName":"I-405"},"Name":"Seattle-Bellevue via 520 (EB AM)","StartPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":92},{"AverageTime":15,"CurrentTime":13,"Description":"Downtown Bellevue to Downtown Seattle using I-90","Distance":10.58,"EndPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"Name":"Bellevue-Seattle via I-90 (WB PM)","StartPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"S","Latitude":47.613800000,"Longitude":-122.188920000,"MilePost":13.33,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":93},{"AverageTime":15,"CurrentTime":13,"Description":"Downtown Bellevue to Downtown Seattle via I-90 using HOV lanes","Distance":10.60,"EndPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"Name":"HOV Bellevue-Seattle via I-90 (WB PM)","StartPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"S","Latitude":47.613800000,"Longitude":-122.188920000,"MilePost":13.33,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":94},{"AverageTime":12,"CurrentTime":11,"Description":"Downtown Seattle to Downtown Bellevue via I-90 using HOV lanes","Distance":10.60,"EndPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"N","Latitude":47.613610000,"Longitude":-122.187970000,"MilePost":13.60,"RoadName":"I-405"},"Name":"HOV Seattle-Bellevue via I-90 (EB AM)","StartPoint":{"Description":"I-5 @ University St in Seattle","Direction":"S","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":95},{"AverageTime":12,"CurrentTime":11,"Description":"Downtown Seattle to Downtown Bellevue via I-90","Distance":10.60,"EndPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"N","Latitude":47.613610000,"Longitude":-122.187970000,"MilePost":13.60,"RoadName":"I-405"},"Name":"Seattle-Bellevue via I-90 (EB AM)","StartPoint":{"Description":"I-5 @ University St in Seattle","Direction":"S","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":96},{"AverageTime":7,"CurrentTime":7,"Description":"Downtown Bellevue to Redmond","Distance":6.62,"EndPoint":{"Description":"SR 520 @ Redmond Way in Redmond","Direction":"E","Latitude":47.668087000,"Longitude":-122.110145000,"MilePost":12.66,"RoadName":"SR 520"},"Name":"Bellevue-Redmond (EB PM)","StartPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"N","Latitude":47.613610000,"Longitude":-122.187970000,"MilePost":13.60,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":99},{"AverageTime":7,"CurrentTime":7,"Description":"Downtown Bellevue to Redmond using HOV lanes","Distance":6.62,"EndPoint":{"Description":"SR 520 @ Redmond Way in Redmond","Direction":"E","Latitude":47.668087000,"Longitude":-122.110145000,"MilePost":12.66,"RoadName":"SR 520"},"Name":"HOV Bellevue-Redmond (EB PM)","StartPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"N","Latitude":47.613610000,"Longitude":-122.187970000,"MilePost":13.60,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":100},{"AverageTime":9,"CurrentTime":8,"Description":"Redmond to Downtown Bellevue using HOV lanes","Distance":7.61,"EndPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"S","Latitude":47.613800000,"Longitude":-122.188920000,"MilePost":13.33,"RoadName":"I-405"},"Name":"HOV Redmond-Bellevue (WB PM)","StartPoint":{"Description":"SR 520 @ Redmond Way in Redmond","Direction":"W","Latitude":47.668087000,"Longitude":-122.110145000,"MilePost":12.65,"RoadName":"SR 520"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":101},{"AverageTime":9,"CurrentTime":8,"Description":"Redmond to Downtown Bellevue","Distance":7.61,"EndPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"S","Latitude":47.613800000,"Longitude":-122.188920000,"MilePost":13.33,"RoadName":"I-405"},"Name":"Redmond-Bellevue (WB PM)","StartPoint":{"Description":"SR 520 @ Redmond Way in Redmond","Direction":"W","Latitude":47.668087000,"Longitude":-122.110145000,"MilePost":12.65,"RoadName":"SR 520"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":102},{"AverageTime":78,"CurrentTime":73,"Description":"North Bend to Ellensburg Eastbound","Distance":74.90,"EndPoint":{"Description":"I-90 @ Ellensburg Exit 109","Direction":"E","Latitude":47.011288000,"Longitude":-120.599140000,"MilePost":109.45,"RoadName":"I-90"},"Name":"Snoqualmie Pass EB","StartPoint":{"Description":"I-90 @ 436th Ave \/ Exit 34","Direction":"E","Latitude":47.473234000,"Longitude":-121.751422000,"MilePost":35.02,"RoadName":"I-90"},"TimeUpdated":"\/Date(1502667180000-0700)\/","TravelTimeID":114},{"AverageTime":78,"CurrentTime":135,"Description":"Ellensburg to North Bend Westbound","Distance":78.56,"EndPoint":{"Description":"I-90 @ North Bend Exit 31","Direction":"W","Latitude":47.484935000,"Longitude":-121.792834000,"MilePost":30.90,"RoadName":"I-90"},"Name":"Snoqualmie Pass WB","StartPoint":{"Description":"I-90 @ Ellensburg Exit 109","Direction":"W","Latitude":46.973870000,"Longitude":-120.540695000,"MilePost":109.00,"RoadName":"I-90"},"TimeUpdated":"\/Date(1502667180000-0700)\/","TravelTimeID":115},{"AverageTime":7,"CurrentTime":7,"Description":"Marvin Rd.\/SR510 in Lacey To 14th Ave. in Olympia","Distance":6.62,"EndPoint":{"Description":"I-5 @ 14th Ave in Olympia","Direction":"S","Latitude":47.032492000,"Longitude":-122.891484000,"MilePost":105.38,"RoadName":"I-5"},"Name":"SB I-5, Lacey (SR510) to Olympia","StartPoint":{"Description":"I-5 @ Marvin Rd I\/C in Lacey","Direction":"S","Latitude":47.063148000,"Longitude":-122.762735000,"MilePost":112.00,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":116},{"AverageTime":7,"CurrentTime":9,"Description":"JBLM Main Gate to Lakewood at SR512","Distance":6.31,"EndPoint":{"Description":"I-5 @ SR512 in Lakewood","Direction":"N","Latitude":47.162742000,"Longitude":-122.480759000,"MilePost":127.35,"RoadName":"I-5"},"Name":"NB I-5, JBLM Main Gate to Lakewood (SR512)","StartPoint":{"Description":"I-5 @ JBLM Main Gate NB","Direction":"N","Latitude":47.104090000,"Longitude":-122.588362000,"MilePost":121.04,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":120},{"AverageTime":6,"CurrentTime":6,"Description":"SR512 in Lakewood To JBLM Main Gate","Distance":6.31,"EndPoint":{"Description":"I-5 @ JLBM Main Gate","Direction":"S","Latitude":47.104090000,"Longitude":-122.588362000,"MilePost":121.04,"RoadName":"I-5"},"Name":"SB I-5, Lakewood (SR512) to JBLM Main Gate","StartPoint":{"Description":"I-5 @ SR512 in Lakewood SB","Direction":"S","Latitude":47.162742000,"Longitude":-122.480759000,"MilePost":127.35,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":121},{"AverageTime":13,"CurrentTime":12,"Description":"SR512 in Lakewood To Tacoma Dome in Tacoma","Distance":7.38,"EndPoint":{"Description":"I-5 @ Tacoma Dome in Tacoma","Direction":"N","Latitude":47.234492000,"Longitude":-122.427958000,"MilePost":134.09,"RoadName":"I-5"},"Name":"NB I-5,Lakewood at SR512 To Tacoma","StartPoint":{"Description":"I-5 @ SR512 in Lakewood NB","Direction":"N","Latitude":47.162742000,"Longitude":-122.480759000,"MilePost":127.35,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":122},{"AverageTime":7,"CurrentTime":8,"Description":"Tacoma Dome in Tacoma To SR512 in Lakewood","Distance":6.74,"EndPoint":{"Description":"I-5 @ SR512 in Lakewood","Direction":"S","Latitude":47.162742000,"Longitude":-122.480759000,"MilePost":127.35,"RoadName":"I-5"},"Name":"SB I-5,Tacoma To Lakewood at SR512","StartPoint":{"Description":"I-5 @ M St. in Tacoma SB","Direction":"S","Latitude":47.229950000,"Longitude":-122.442040000,"MilePost":134.09,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":123},{"AverageTime":7,"CurrentTime":6,"Description":"M St. in Tacoma To NB I-5 @ Pierce King County Line","Distance":5.32,"EndPoint":{"Description":"I-5 @ Pierce King County Line","Direction":"N","Latitude":47.255624000,"Longitude":-122.331130000,"MilePost":139.41,"RoadName":"I-5"},"Name":"NB I-5,Tacoma To Pierce King County Line","StartPoint":{"Description":"I-5 @ Tacoma Dome in Tacoma","Direction":"N","Latitude":47.234492000,"Longitude":-122.427958000,"MilePost":134.09,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":125},{"AverageTime":55,"CurrentTime":75,"Description":"14th Ave in Olympia to Tacoma Dome in Tacoma","Distance":29.41,"EndPoint":{"Description":"I-5 @ Tacoma Dome in Tacoma","Direction":"N","Latitude":47.234492000,"Longitude":-122.427958000,"MilePost":134.09,"RoadName":"I-5"},"Name":"NB I-5, Olympia To Tacoma","StartPoint":{"Description":"I-5 @ 14th Ave in Olympia","Direction":"N","Latitude":47.064447000,"Longitude":-122.759508000,"MilePost":105.38,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":126},{"AverageTime":16,"CurrentTime":16,"Description":"Downtown Seattle to Lynnwood using express lanes and HOV lanes","Distance":15.73,"EndPoint":{"Description":"I-5 @ 196th St SW in Lynnwood","Direction":"N","Latitude":47.819545000,"Longitude":-122.279109000,"MilePost":181.56,"RoadName":"I-5"},"Name":"HOV Seattle-Lynnwood (NB REV)","StartPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":128},{"AverageTime":16,"CurrentTime":16,"Description":"Downtown Seattle to Lynnwood using express lanes","Distance":15.73,"EndPoint":{"Description":"I-5 @ 196th St SW in Lynnwood","Direction":"N","Latitude":47.819545000,"Longitude":-122.279109000,"MilePost":181.56,"RoadName":"I-5"},"Name":"Seattle-Lynnwood (NB REV)","StartPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":129},{"AverageTime":6,"CurrentTime":6,"Description":"Downtown Seattle to Northgate using express lanes","Distance":5.79,"EndPoint":{"Description":"I-5 @ NE Northgate Way in Northgate","Direction":"N","Latitude":47.774180000,"Longitude":-122.329912000,"MilePost":171.62,"RoadName":"I-5"},"Name":"Seattle-Shoreline (NB REV)","StartPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":130},{"AverageTime":28,"CurrentTime":27,"Description":"Downtown Seattle to Everett using express lanes and HOV lanes","Distance":26.94,"EndPoint":{"Description":"I-5 @ 41st St in Everett","Direction":"N","Latitude":47.924280000,"Longitude":-122.265480000,"MilePost":192.77,"RoadName":"I-5"},"Name":"HOV Seattle-Everett (NB REV)","StartPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":131},{"AverageTime":27,"CurrentTime":27,"Description":"Downtown Seattle to Everett using express lanes","Distance":26.94,"EndPoint":{"Description":"I-5 @ 41st St in Everett","Direction":"N","Latitude":47.924280000,"Longitude":-122.265480000,"MilePost":192.77,"RoadName":"I-5"},"Name":"Seattle-Everett (NB REV)","StartPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":132},{"AverageTime":30,"CurrentTime":34,"Description":"Everett to Downtown Seattle","Distance":26.72,"EndPoint":{"Description":"I-5 @ University St in Seattle","Direction":"S","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"Name":"Everett-Seattle (SB AM)","StartPoint":{"Description":"I-5 @ 41st St in Everett","Direction":"S","Latitude":47.964410000,"Longitude":-122.199190000,"MilePost":192.55,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":1},{"AverageTime":19,"CurrentTime":23,"Description":"Lynnwood to Downtown Seattle using HOV lanes","Distance":15.23,"EndPoint":{"Description":"I-5 @ University St in Seattle","Direction":"S","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"Name":"HOV Lynnwood-Seattle (SB AM)","StartPoint":{"Description":"I-5 @ 196th St SW in Lynnwood","Direction":"S","Latitude":47.817269000,"Longitude":-122.285137000,"MilePost":181.06,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":275},{"AverageTime":13,"CurrentTime":17,"Description":"Downtown Bellevue to Renton","Distance":11.12,"EndPoint":{"Description":"I-405 @ SR 167 in Renton","Direction":"S","Latitude":47.467434000,"Longitude":-122.219631000,"MilePost":2.21,"RoadName":"I-405"},"Name":"Bellevue-Renton (SB PM)","StartPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"S","Latitude":47.613800000,"Longitude":-122.188920000,"MilePost":13.33,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":45},{"AverageTime":12,"CurrentTime":13,"Description":"Downtown Bellevue to Renton using HOV lanes","Distance":11.12,"EndPoint":{"Description":"I-405 @ SR 167 in Renton","Direction":"S","Latitude":47.467434000,"Longitude":-122.219631000,"MilePost":2.21,"RoadName":"I-405"},"Name":"HOV Bellevue-Renton (SB PM)","StartPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"S","Latitude":47.613800000,"Longitude":-122.188920000,"MilePost":13.33,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":46},{"AverageTime":14,"CurrentTime":13,"Description":"Renton to Downtown Bellevue using HOV lanes","Distance":11.17,"EndPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"N","Latitude":47.613610000,"Longitude":-122.187970000,"MilePost":13.60,"RoadName":"I-405"},"Name":"HOV Renton-Bellevue (NB AM)","StartPoint":{"Description":"I-405 @ SR 167 in Renton","Direction":"N","Latitude":47.467434000,"Longitude":-122.219631000,"MilePost":2.43,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":278},{"AverageTime":14,"CurrentTime":12,"Description":"Renton to Downtown Bellevue","Distance":11.17,"EndPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"N","Latitude":47.613610000,"Longitude":-122.187970000,"MilePost":13.60,"RoadName":"I-405"},"Name":"Renton-Bellevue (NB AM)","StartPoint":{"Description":"I-405 @ SR 167 in Renton","Direction":"N","Latitude":47.467434000,"Longitude":-122.219631000,"MilePost":2.43,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":279},{"AverageTime":9,"CurrentTime":9,"Description":"Downtown Bellevue to SR 522 in Bothell","Distance":9.41,"EndPoint":{"Description":"I-405 @ SR 522 in Bothell","Direction":"N","Latitude":47.751518000,"Longitude":-122.187178000,"MilePost":23.01,"RoadName":"I-405"},"Name":"Bellevue-SR 522 (NB PM)","StartPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"N","Latitude":47.613610000,"Longitude":-122.187970000,"MilePost":13.60,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":55},{"AverageTime":19,"CurrentTime":29,"Description":"SR 531 in Arlington to 41st St in Everett","Distance":13.32,"EndPoint":{"Description":"I-5 @ 41st St in Everett","Direction":"S","Latitude":47.924280000,"Longitude":-122.265480000,"MilePost":192.55,"RoadName":"I-5"},"Name":"Arlington-Everett (SB AM)","StartPoint":{"Description":"I-5 @ EB 172nd St in Arlington","Direction":"S","Latitude":48.152323000,"Longitude":-122.188847000,"MilePost":205.87,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":266},{"AverageTime":13,"CurrentTime":14,"Description":"41st St in Everett to SR 531 in Arlington","Distance":13.10,"EndPoint":{"Description":"I-5 @ EB 172nd St in Arlington","Direction":"N","Latitude":48.152323000,"Longitude":-122.188847000,"MilePost":205.87,"RoadName":"I-5"},"Name":"Everett-Arlington (NB PM)","StartPoint":{"Description":"I-5 @ 41st St in Everett","Direction":"N","Latitude":47.924280000,"Longitude":-122.265480000,"MilePost":192.77,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":267},{"AverageTime":8,"CurrentTime":8,"Description":"41st St in Everett to 88th St NE in Marysville","Distance":7.89,"EndPoint":{"Description":"I-5 @ 88th St NE-SB in Marysville","Direction":"N","Latitude":48.075728000,"Longitude":-122.184877000,"MilePost":200.66,"RoadName":"I-5"},"Name":"Everett-Marysville (NB PM)","StartPoint":{"Description":"I-5 @ 41st St in Everett","Direction":"N","Latitude":47.924280000,"Longitude":-122.265480000,"MilePost":192.77,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":268},{"AverageTime":12,"CurrentTime":14,"Description":"88th St NE in Marysville to 41st St in Everett","Distance":8.11,"EndPoint":{"Description":"I-5 @ 41st St in Everett","Direction":"S","Latitude":47.924280000,"Longitude":-122.265480000,"MilePost":192.55,"RoadName":"I-5"},"Name":"Marysville-Everett (SB AM)","StartPoint":{"Description":"I-5 @ 88th St NE-SB in Marysville","Direction":"S","Latitude":48.075728000,"Longitude":-122.184877000,"MilePost":200.66,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":269},{"AverageTime":25,"CurrentTime":26,"Description":"Downtown Seattle to Woodinville using express lanes and SR 522","Distance":15.37,"EndPoint":{"Description":"SR 522 @ SR 202 in Woodinville","Direction":"E","Latitude":47.758180000,"Longitude":-122.164020000,"MilePost":10.57,"RoadName":"522"},"Name":"Seattle-Woodinville via SR 522 (EB REV)","StartPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":285},{"AverageTime":25,"CurrentTime":28,"Description":"Downtown Seattle to Woodinville","Distance":15.37,"EndPoint":{"Description":"SR 522 @ SR 202 in Woodinville","Direction":"E","Latitude":47.758180000,"Longitude":-122.164020000,"MilePost":10.57,"RoadName":"522"},"Name":"Seattle-Woodinville via SR 522 Short (EB PM)-v2","StartPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":286},{"AverageTime":32,"CurrentTime":33,"Description":"Woodinville to Downtown Seattle","Distance":15.54,"EndPoint":{"Description":"I-5 @ University St in Seattle","Direction":"S","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"Name":"Woodinville-Seattle via SR 522 Short (WB AM)-v2","StartPoint":{"Description":"SR 522 @ SR 202 in Woodinville","Direction":"W","Latitude":47.758180000,"Longitude":-122.164020000,"MilePost":10.55,"RoadName":"522"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":287},{"AverageTime":0,"CurrentTime":0,"Description":"Woodinville to Downtown Seattle using I-5 express lanes","Distance":0.00,"EndPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"Name":"Woodinville-Seattle via SR 522 (SB REV)","StartPoint":{"Description":"SR 522 @ SR 202 in Woodinville","Direction":"W","Latitude":47.758180000,"Longitude":-122.164020000,"MilePost":10.55,"RoadName":"522"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":288},{"AverageTime":16,"CurrentTime":15,"Description":"Tukwila to Downtown Bellevue","Distance":13.49,"EndPoint":{"Description":"I-405 @ NE 8th St in Bellevue","Direction":"N","Latitude":47.613610000,"Longitude":-122.187970000,"MilePost":13.60,"RoadName":"I-405"},"Name":"Tukwila-Bellevue (NB AM)","StartPoint":{"Description":"I-405 @ I-5 in Tukwila","Direction":"N","Latitude":47.463303000,"Longitude":-122.262701000,"MilePost":0.11,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":291},{"AverageTime":4,"CurrentTime":4,"Description":"So. 320th St. in Federal Way to King County Line","Distance":3.95,"EndPoint":{"Description":"I-5 @ King County Line MP 139.38","Direction":"S","Latitude":47.334789000,"Longitude":-122.293778000,"MilePost":139.69,"RoadName":"I-5"},"Name":"Federal Way to King County Line","StartPoint":{"Description":"I-5 @ So. 320th Street in Federal Way","Direction":"S","Latitude":47.313840000,"Longitude":-122.298609000,"MilePost":143.64,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":292},{"AverageTime":6,"CurrentTime":7,"Description":"Region boundary to Federal Way","Distance":4.29,"EndPoint":{"Description":"I-5 @ So. 320th St in Federal Way","Direction":"N","Latitude":47.315446000,"Longitude":-122.296702000,"MilePost":143.98,"RoadName":"I-5"},"Name":"King County Line to Federal Way","StartPoint":{"Description":"I-5 @ King County Line MP 139.38","Direction":"N","Latitude":47.334789000,"Longitude":-122.293778000,"MilePost":139.69,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":293},{"AverageTime":22,"CurrentTime":21,"Description":"Downtown Seattle to Woodinville","Distance":20.53,"EndPoint":{"Description":"SR 522 @ SR 202 in Woodinville","Direction":"N","Latitude":47.758180000,"Longitude":-122.164020000,"MilePost":23.01,"RoadName":"I-405"},"Name":"Seattle-Woodinville via I-90 (EB PM)","StartPoint":{"Description":"I-5 @ University St in Seattle","Direction":"S","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":294},{"AverageTime":19,"CurrentTime":20,"Description":"Downtown Seattle to Woodinville","Distance":17.85,"EndPoint":{"Description":"SR 522 @ SR 202 in Woodinville","Direction":"N","Latitude":47.758180000,"Longitude":-122.164020000,"MilePost":23.01,"RoadName":"I-405"},"Name":"Seattle-Woodinville via SR 520 (EB PM)","StartPoint":{"Description":"I-5 @ University St in Seattle","Direction":"N","Latitude":47.609294000,"Longitude":-122.331759000,"MilePost":165.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":295},{"AverageTime":14,"CurrentTime":13,"Description":"Tacoma Dome in Tacoma To NB I-5 @ So. 320th St in Federal Way","Distance":9.89,"EndPoint":{"Description":"I-5 @ So. 320th St in Federal Way","Direction":"N","Latitude":47.315446000,"Longitude":-122.296702000,"MilePost":143.98,"RoadName":"005"},"Name":"NB I-5,Tacoma To Federal Way","StartPoint":{"Description":"I-5 @ Tacoma Dome in Tacoma","Direction":"N","Latitude":47.234492000,"Longitude":-122.427958000,"MilePost":134.09,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":303},{"AverageTime":17,"CurrentTime":30,"Description":"Olympia to Marvin Rd SR510 in Lacey","Distance":6.62,"EndPoint":{"Description":"I-5 @ Marvin Rd I\/C in Lacey","Direction":"N","Latitude":47.063333000,"Longitude":-122.765327000,"MilePost":112.00,"RoadName":"I-5"},"Name":"NB I-5 Olympia to Lacey (SR510)","StartPoint":{"Description":"I-5 @ 14th Ave in Olympia","Direction":"N","Latitude":47.032492000,"Longitude":-122.891484000,"MilePost":105.38,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":310},{"AverageTime":9,"CurrentTime":9,"Description":"JBLM Main Gate to Marvin Rd SR510 in Lacey","Distance":9.10,"EndPoint":{"Description":"I-5 @ Marvin Rd SR510 in Lacey","Direction":"S","Latitude":47.063333000,"Longitude":-122.765327000,"MilePost":112.00,"RoadName":"I-5"},"Name":"SB I-5 JBLM Main Gate to Lacey (SR510) SB","StartPoint":{"Description":"I-5 @ JBLM Main Gate","Direction":"S","Latitude":47.104090000,"Longitude":-122.588362000,"MilePost":121.04,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":311},{"AverageTime":19,"CurrentTime":25,"Description":"Marvin Rd\/SR510 in Lacey To JBLM Main Gate","Distance":9.10,"EndPoint":{"Description":"I-5 @ JBLM Main Gate","Direction":"N","Latitude":47.104090000,"Longitude":-122.588362000,"MilePost":121.04,"RoadName":"I-5"},"Name":"NB I-5 Lacey (SR510) to JBLM Main Gate","StartPoint":{"Description":"I-5 @ Marvin Rd IC in Lacey","Direction":"N","Latitude":47.063333000,"Longitude":-122.765327000,"MilePost":112.00,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":312},{"AverageTime":29,"CurrentTime":30,"Description":"Tacoma Dome in Tacoma To 14th Ave in Olympia","Distance":28.77,"EndPoint":{"Description":"I-5 @ 14th Ave in Olympia","Direction":"S","Latitude":47.064447000,"Longitude":-122.759508000,"MilePost":105.38,"RoadName":"I-5"},"Name":"SB I-5 Tacoma To Olympia","StartPoint":{"Description":"I-5 @ Tacoma Dome in Tacoma","Direction":"S","Latitude":47.234492000,"Longitude":-122.427958000,"MilePost":134.09,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":313},{"AverageTime":7,"CurrentTime":6,"Description":"Pierce King County Line to Tacoma Dome","Distance":5.32,"EndPoint":{"Description":"I-5 @ Tacoma Dome in Tacoma","Direction":"S","Latitude":47.234492000,"Longitude":-122.427958000,"MilePost":134.09,"RoadName":"I-5"},"Name":"SB I-5 Pierce King County Line To Tacoma","StartPoint":{"Description":"I-5 @ Pierce King County Line","Direction":"S","Latitude":47.255624000,"Longitude":-122.331130000,"MilePost":139.41,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":314},{"AverageTime":25,"CurrentTime":51,"Description":"Region boundary to Tukwila","Distance":15.11,"EndPoint":{"Description":"I-5 @ I-405 in Tukwila","Direction":"N","Latitude":47.463303000,"Longitude":-122.262701000,"MilePost":154.80,"RoadName":"I-5"},"Name":"King County Line to Tukwila","StartPoint":{"Description":"I-5 @ King County Line MP 139.38","Direction":"N","Latitude":47.334789000,"Longitude":-122.293778000,"MilePost":139.69,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":316},{"AverageTime":25,"CurrentTime":30,"Description":"N\/O Marvin Rd SR510 in Lacey To SR 512 in Lakewood","Distance":14.80,"EndPoint":{"Description":"I-5 @ SR 512 in Lakewood","Direction":"N","Latitude":47.163299000,"Longitude":-122.479422000,"MilePost":127.35,"RoadName":"I-5"},"Name":"NB I-5 SR510 to SR 512","StartPoint":{"Description":"","Direction":"N","Latitude":0.000000000,"Longitude":0.000000000,"MilePost":112.61,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":318},{"AverageTime":7,"CurrentTime":7,"Description":"Mounts Rd in DuPont To Martin Way E in Lacey","Distance":6.99,"EndPoint":{"Description":"I-5 @ Martin Way E in Lacey","Direction":"S","Latitude":47.047436000,"Longitude":-122.821408000,"MilePost":109.18,"RoadName":"I-5"},"Name":"SB I-5 DuPont To Lacey","StartPoint":{"Description":"","Direction":"S","Latitude":0.000000000,"Longitude":0.000000000,"MilePost":116.17,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":321},{"AverageTime":18,"CurrentTime":18,"Description":"112th St in Lakewood To Martin Way in Lacey","Distance":17.52,"EndPoint":{"Description":"I-5 @ Martin Way in Lacey","Direction":"S","Latitude":47.048034000,"Longitude":-122.820155000,"MilePost":109.18,"RoadName":"I-5"},"Name":"SB I-5 Lakewood To Lacey","StartPoint":{"Description":"","Direction":"S","Latitude":0.000000000,"Longitude":0.000000000,"MilePost":126.64,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":324},{"AverageTime":4,"CurrentTime":4,"Description":"Region boundary to Federal Way via HOV lanes","Distance":4.29,"EndPoint":{"Description":"I-5 @ S 320th St in Federal Way","Direction":"N","Latitude":47.315446000,"Longitude":-122.296702000,"MilePost":143.98,"RoadName":"I-5"},"Name":"King County Line to Federal Way HOV","StartPoint":{"Description":"I-5 @ King County Line MP 139.38","Direction":"N","Latitude":47.334789000,"Longitude":-122.293778000,"MilePost":139.69,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":326},{"AverageTime":17,"CurrentTime":22,"Description":"Region boundary to Tukwila via HOV lanes","Distance":15.11,"EndPoint":{"Description":"I-5 @ I-405 in Tukwila","Direction":"N","Latitude":47.463303000,"Longitude":-122.262701000,"MilePost":154.80,"RoadName":"I-5"},"Name":"King County Line to Tukwila HOV","StartPoint":{"Description":"I-5 @ King County Line MP 139.38","Direction":"N","Latitude":47.334789000,"Longitude":-122.293778000,"MilePost":139.69,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":327},{"AverageTime":33,"CurrentTime":38,"Description":"I-5 SB and 199th to I-5 and I-205JCT","Distance":32.69,"EndPoint":{"Description":"I-5 - I-205JCT in Portland","Direction":"S","Latitude":45.353550000,"Longitude":-122.764670000,"MilePost":287.46,"RoadName":"I-5"},"Name":"I-5 SB Corridor","StartPoint":{"Description":"I-5 SB and 199th in Vancouver","Direction":"S","Latitude":45.769108200,"Longitude":-122.668256000,"MilePost":11.75,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":333},{"AverageTime":10,"CurrentTime":14,"Description":"159th St. to Delta Park","Distance":9.88,"EndPoint":{"Description":"I-5 Delta Park in Portland","Direction":"S","Latitude":45.603280000,"Longitude":-122.683520000,"MilePost":307.35,"RoadName":"I-5"},"Name":"I-5 SB and 159th to Delta Park","StartPoint":{"Description":"I-5 SB and 159th St in Vancouver","Direction":"S","Latitude":45.740536000,"Longitude":-122.659721000,"MilePost":8.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":334},{"AverageTime":14,"CurrentTime":19,"Description":"159th St. to I-84","Distance":15.06,"EndPoint":{"Description":"I-5 and I-84JCT in Portland","Direction":"S","Latitude":45.544850000,"Longitude":-122.677070000,"MilePost":302.17,"RoadName":"I-5"},"Name":"I-5 SB and 159th to I-84JCT","StartPoint":{"Description":"I-5 and 159th St in Vancouver","Direction":"S","Latitude":45.740536000,"Longitude":-122.659721000,"MilePost":8.83,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":335},{"AverageTime":14,"CurrentTime":20,"Description":"I-5\/SR-500 Jct. to I-205\/I-84 Jct. via I-5 and I-84","Distance":14.36,"EndPoint":{"Description":"I-84 to I-205 JCT in Portland","Direction":"E","Latitude":45.533670000,"Longitude":-122.562310000,"MilePost":5.82,"RoadName":"I-84"},"Name":"I-5 SB and SR500 to I-84 to I-205 JCT","StartPoint":{"Description":"I-5 and SR500 in Vancouver","Direction":"S","Latitude":45.642222000,"Longitude":-122.661944000,"MilePost":1.41,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":338},{"AverageTime":12,"CurrentTime":12,"Description":"I-5\/SR-500 Jct. to I-205\/I-84 Jct. via SR-14 and I-205","Distance":11.30,"EndPoint":{"Description":"I-205 to I-84 JCT in Portland","Direction":"S","Latitude":45.555790000,"Longitude":-122.567580000,"MilePost":23.27,"RoadName":"I-205"},"Name":"I-5 SB and SR500 to SR14 to I-205 to I-84 JCT","StartPoint":{"Description":"I-5 SB and SR500 in Vancouver","Direction":"S","Latitude":45.646387000,"Longitude":-122.662332000,"MilePost":1.41,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":339},{"AverageTime":19,"CurrentTime":20,"Description":"192nd Ave to I-5\/I-84 Jct. via I-205 and I-84","Distance":16.02,"EndPoint":{"Description":"I-205 and I-84 JCT in Portland","Direction":"W","Latitude":45.555790000,"Longitude":-122.567580000,"MilePost":0.45,"RoadName":"I-84"},"Name":"SR14 and 171st Ave to I-205 and I-84 JCT","StartPoint":{"Description":"SR14 and 171st Ave in Vancouver","Direction":"W","Latitude":45.587222000,"Longitude":-122.484722000,"MilePost":9.52,"RoadName":"SR 14"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":340},{"AverageTime":17,"CurrentTime":22,"Description":"192nd Ave to I-5\/I-84 Jct. via SR-14 and I-5","Distance":16.70,"EndPoint":{"Description":"I-5 and I-84 JCT in Portland","Direction":"S","Latitude":45.544850000,"Longitude":-122.677070000,"MilePost":302.17,"RoadName":"I-5"},"Name":"SR14 and 171st Ave to I-5 and I-84 JCT","StartPoint":{"Description":"SR14 and 171st Ave in Vancouver","Direction":"W","Latitude":45.587223000,"Longitude":-122.484723000,"MilePost":9.52,"RoadName":"SR 14"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":341},{"AverageTime":38,"CurrentTime":40,"Description":"SR-502 to I-5\/I-205 Jct. (Oregon) via I-205","Distance":39.11,"EndPoint":{"Description":"I-5 SB Corridor via I-205 SB to Wilsonville","Direction":"S","Latitude":45.624696000,"Longitude":-122.670881000,"MilePost":1.96,"RoadName":"I-205"},"Name":"I-5 SB Corridor via I-205 SB","StartPoint":{"Description":"I-5 SB Corridor via I-205 SB","Direction":"S","Latitude":45.753766000,"Longitude":-122.663865000,"MilePost":11.75,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":342},{"AverageTime":13,"CurrentTime":13,"Description":"179th St. to Airport Way via I-205","Distance":12.79,"EndPoint":{"Description":"I-205 and Airport Way in Portland","Direction":"S","Latitude":45.571880000,"Longitude":-122.550940000,"MilePost":24.77,"RoadName":"I-205"},"Name":"I-5 SB Corridor via I-205 SB to Airportway","StartPoint":{"Description":"I-5 and 179th St in Vancouver","Direction":"S","Latitude":45.732778000,"Longitude":-122.656944000,"MilePost":8.24,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":343},{"AverageTime":5,"CurrentTime":5,"Description":"Mill Plain to I-84","Distance":5.13,"EndPoint":{"Description":"I-205 and I-84 JCT in Portland","Direction":"S","Latitude":45.555790000,"Longitude":-122.567580000,"MilePost":23.27,"RoadName":"I-205"},"Name":"I-205 SB and Mill Plain to I-205 and I-84 JCT","StartPoint":{"Description":"I-205 and Mill Plain in Vancouver","Direction":"S","Latitude":45.616510000,"Longitude":-122.556750000,"MilePost":28.36,"RoadName":"I-205"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":344},{"AverageTime":18,"CurrentTime":19,"Description":"Mill Plain to Oregon City","Distance":18.16,"EndPoint":{"Description":"Oregon City in Portland","Direction":"S","Latitude":45.374510000,"Longitude":-122.588940000,"MilePost":10.24,"RoadName":"I-205"},"Name":"I-205 SB and Mill Plain to I-5 JCT","StartPoint":{"Description":"I-205 SB and Mill Plain in Vancouver","Direction":"S","Latitude":45.616510000,"Longitude":-122.556750000,"MilePost":28.36,"RoadName":"I-205"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":345},{"AverageTime":8,"CurrentTime":8,"Description":"Cascade Park to Vancouver","Distance":7.94,"EndPoint":{"Description":"SR14 and I-5 JCT in Vancouver","Direction":"W","Latitude":45.623361000,"Longitude":-122.671437000,"MilePost":0.58,"RoadName":"SR 14"},"Name":"Cascade Park to Vancouver","StartPoint":{"Description":"SR14 and Cascade Park in Vancouver","Direction":"W","Latitude":45.591741500,"Longitude":-122.504230000,"MilePost":8.52,"RoadName":"SR 14"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":347},{"AverageTime":13,"CurrentTime":13,"Description":"Hazel Dell to Fremont Bridge","Distance":9.18,"EndPoint":{"Description":"I-5 and I-405 JCT in Portland","Direction":"S","Latitude":45.547310000,"Longitude":-122.678890000,"MilePost":303.47,"RoadName":"I-5"},"Name":"Hazel Dell to Fremont Bridge","StartPoint":{"Description":"I-5 and 78th St in Vancouver","Direction":"S","Latitude":45.676544000,"Longitude":-122.664559000,"MilePost":4.25,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":348},{"AverageTime":18,"CurrentTime":18,"Description":"Hazel Dell to I-405-US26","Distance":13.29,"EndPoint":{"Description":"US26 in Portland","Direction":"S","Latitude":45.516880000,"Longitude":-122.688000000,"MilePost":1.77,"RoadName":"I-405"},"Name":"Hazel Dell to I-405-US26","StartPoint":{"Description":"I-5 SB and 78th St in Vancouver","Direction":"S","Latitude":45.676544000,"Longitude":-122.664559000,"MilePost":4.25,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":349},{"AverageTime":19,"CurrentTime":20,"Description":"Mill Plain to Oregon City","Distance":19.11,"EndPoint":{"Description":"Oregon City in Portland","Direction":"S","Latitude":45.366620000,"Longitude":-122.600330000,"MilePost":9.29,"RoadName":"I-205"},"Name":"Mill Plain to Oregon City","StartPoint":{"Description":"I-205 SB and Mill Plain in Vancouver","Direction":"S","Latitude":45.621409000,"Longitude":-122.559835000,"MilePost":28.36,"RoadName":"I-205"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":350},{"AverageTime":7,"CurrentTime":7,"Description":"Mill Plain Vancouver to I-84","Distance":6.72,"EndPoint":{"Description":"I-205 and I-84 JCT in Portland","Direction":"S","Latitude":45.534880000,"Longitude":-122.564570000,"MilePost":21.68,"RoadName":"I-205"},"Name":"Mill Plain Vancouver to I-84","StartPoint":{"Description":"I-205 and Mill Plain in Vancouver","Direction":"S","Latitude":45.621409000,"Longitude":-122.559835000,"MilePost":28.36,"RoadName":"I-205"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":351},{"AverageTime":7,"CurrentTime":7,"Description":"Vancouver to Cascade Park","Distance":7.14,"EndPoint":{"Description":"SR14 and Cascade Park in Vancouver","Direction":"E","Latitude":45.595970000,"Longitude":-122.519657000,"MilePost":7.72,"RoadName":"SR 14"},"Name":"Vancouver to Cascade Park","StartPoint":{"Description":"SR14 and I-5 JCT in Vancouver","Direction":"E","Latitude":45.619440000,"Longitude":-122.661586000,"MilePost":0.58,"RoadName":"SR 14"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":354},{"AverageTime":20,"CurrentTime":21,"Description":"Oregon City to Mill Plain","Distance":19.67,"EndPoint":{"Description":"I-205 and Mill Plain in Vancouver","Direction":"N","Latitude":45.621409000,"Longitude":-122.559835000,"MilePost":28.36,"RoadName":"I-205"},"Name":"Oregon City to Mill Plain via 205","StartPoint":{"Description":"Oregon City in Portland","Direction":"N","Latitude":45.362000000,"Longitude":-122.609000000,"MilePost":9.03,"RoadName":"I-205"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":355},{"AverageTime":35,"CurrentTime":36,"Description":"Salmon Creek WA to Tualatin OR","Distance":34.75,"EndPoint":{"Description":"I-5 SB at Tualatin","Direction":"S","Latitude":45.372970000,"Longitude":-122.729520000,"MilePost":1.96,"RoadName":"I-205"},"Name":"Salmon Creek WA to Tualatin OR I-205","StartPoint":{"Description":"134th and 205 via I-205 SB","Direction":"S","Latitude":45.707495000,"Longitude":-122.631733000,"MilePost":36.67,"RoadName":"I-205"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":358},{"AverageTime":33,"CurrentTime":33,"Description":"Salmon Creek WA to Tualatin OR","Distance":28.24,"EndPoint":{"Description":"I-5 - I-205JCT in Portland","Direction":"S","Latitude":45.353550000,"Longitude":-122.764670000,"MilePost":287.46,"RoadName":"I-5"},"Name":"Salmon Creek WA to Tualatin OR I-5","StartPoint":{"Description":"I-5 SB and 134 St in Vancouver","Direction":"S","Latitude":45.716985000,"Longitude":-122.654515000,"MilePost":7.30,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":359},{"AverageTime":28,"CurrentTime":28,"Description":"Camas to Rose Quarter","Distance":21.83,"EndPoint":{"Description":"Rose Quarter Exit I-5 in Portland","Direction":"S","Latitude":45.532950000,"Longitude":-122.666410000,"MilePost":302.17,"RoadName":"I-5"},"Name":"Camas to Rose Quarter via 1-5","StartPoint":{"Description":"SR14 and Union St in Camas","Direction":"W","Latitude":45.580300000,"Longitude":-122.385324000,"MilePost":14.65,"RoadName":"SR 14"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":360},{"AverageTime":24,"CurrentTime":25,"Description":"Camas to Rose Quarter","Distance":21.15,"EndPoint":{"Description":"I-5 and I-84 JCT in Portland","Direction":"W","Latitude":45.525600000,"Longitude":-122.660460000,"MilePost":0.45,"RoadName":"I-84"},"Name":"Camas to Rose Quarter via 205 and I-84","StartPoint":{"Description":"SR14 and Union St in Camas","Direction":"W","Latitude":45.580300000,"Longitude":-122.385324000,"MilePost":14.65,"RoadName":"SR 14"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":361},{"AverageTime":14,"CurrentTime":15,"Description":"Clark County Fairgrounds to Delta Park","Distance":10.82,"EndPoint":{"Description":"I-5 Delta Park in Portland","Direction":"S","Latitude":45.603280000,"Longitude":-122.683520000,"MilePost":307.35,"RoadName":"I-5"},"Name":"Clark County Fairgrounds to Delta Park","StartPoint":{"Description":"I-5 SB and 179th St in Vancouver","Direction":"S","Latitude":45.754301000,"Longitude":-122.663841000,"MilePost":9.77,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":362},{"AverageTime":13,"CurrentTime":15,"Description":"Clark County Fairgrounds to Portland International Airport Exit","Distance":14.32,"EndPoint":{"Description":"I-205 and Airport Way in Portland","Direction":"S","Latitude":45.571880000,"Longitude":-122.550940000,"MilePost":24.77,"RoadName":"I-205"},"Name":"Clark County Fairgrounds to Portland International Airport Exit","StartPoint":{"Description":"I-5 and 179th St in Vancouver","Direction":"S","Latitude":45.754301000,"Longitude":-122.663841000,"MilePost":9.77,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":363},{"AverageTime":19,"CurrentTime":20,"Description":"Clark County Fairgrounds to Rose Quarter","Distance":15.66,"EndPoint":{"Description":"I-5 and Rose Quarter in Portland","Direction":"S","Latitude":45.536250000,"Longitude":-122.667270000,"MilePost":302.51,"RoadName":"I-5"},"Name":"Clark County Fairgrounds to Rose Quarter","StartPoint":{"Description":"I-5 and 179th St in Vancouver","Direction":"S","Latitude":45.754301000,"Longitude":-122.663841000,"MilePost":9.77,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":364},{"AverageTime":14,"CurrentTime":15,"Description":"Delta Park to Clark County Fairgrounds","Distance":10.36,"EndPoint":{"Description":"I-5 and 179th St in Vancouver","Direction":"N","Latitude":45.754301000,"Longitude":-122.663841000,"MilePost":9.76,"RoadName":"I-5"},"Name":"Delta Park to Clark County Fairgrounds","StartPoint":{"Description":"Delta Park in Portland","Direction":"N","Latitude":45.611460000,"Longitude":-122.679000000,"MilePost":307.90,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":365},{"AverageTime":14,"CurrentTime":14,"Description":"Fremont Bridge to Hazel Dell","Distance":9.28,"EndPoint":{"Description":"I-5 and 78th St Hazel Dell in Vancouver","Direction":"N","Latitude":45.676544000,"Longitude":-122.664559000,"MilePost":4.25,"RoadName":"I-5"},"Name":"Fremont Bridge to Hazel Dell","StartPoint":{"Description":"Fremont Bridge in Portland","Direction":"N","Latitude":45.547310000,"Longitude":-122.678900000,"MilePost":303.47,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":366},{"AverageTime":38,"CurrentTime":18,"Description":"I-405-US 26 to Hazel Dell","Distance":12.71,"EndPoint":{"Description":"I-5 and 78th St Hazel Dell in Vancouver","Direction":"N","Latitude":45.676544000,"Longitude":-122.664559000,"MilePost":4.25,"RoadName":"I-5"},"Name":"I-405-US 26 to Hazel Dell","StartPoint":{"Description":"I-405\/US26 in Portland","Direction":"N","Latitude":45.516880000,"Longitude":-122.688000000,"MilePost":1.77,"RoadName":"I-405"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":367},{"AverageTime":7,"CurrentTime":7,"Description":"I-84 to Mill Plain","Distance":7.02,"EndPoint":{"Description":"Mill Plain in Vancouver","Direction":"N","Latitude":45.621409000,"Longitude":-122.559835000,"MilePost":28.36,"RoadName":"I-205"},"Name":"I-84 to Mill Plain via 205","StartPoint":{"Description":"I-84 in Portland","Direction":"N","Latitude":45.534880000,"Longitude":-122.565000000,"MilePost":21.68,"RoadName":"I-205"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":368},{"AverageTime":16,"CurrentTime":16,"Description":"Portland International Airport Exit to Clark County Fairgrounds","Distance":14.46,"EndPoint":{"Description":"Clark County Fairgrounds","Direction":"N","Latitude":45.754301000,"Longitude":-122.663841000,"MilePost":9.76,"RoadName":"I-5"},"Name":"Portland International Airport Exit to Clark County Fairgrounds via 205","StartPoint":{"Description":"Portland International Airport Exit","Direction":"N","Latitude":45.572100000,"Longitude":-122.548000000,"MilePost":24.92,"RoadName":"I-205"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":369},{"AverageTime":26,"CurrentTime":26,"Description":"Rose Quarter to Camas","Distance":21.12,"EndPoint":{"Description":"Camas","Direction":"E","Latitude":45.580300000,"Longitude":-122.385324000,"MilePost":14.65,"RoadName":"SR 14"},"Name":"Rose Quarter to Camas via 1-5","StartPoint":{"Description":"Rose Quarter in Portland","Direction":"N","Latitude":45.536250000,"Longitude":-122.667000000,"MilePost":302.50,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":370},{"AverageTime":23,"CurrentTime":23,"Description":"Rose Quarter to Camas","Distance":20.97,"EndPoint":{"Description":"Camas","Direction":"E","Latitude":45.580300000,"Longitude":-122.385324000,"MilePost":14.65,"RoadName":"SR 14"},"Name":"Rose Quarter to Camas via 1-84","StartPoint":{"Description":"Rose Quarter in Portland","Direction":"E","Latitude":45.520480000,"Longitude":-122.665000000,"MilePost":0.10,"RoadName":"I-84"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":371},{"AverageTime":20,"CurrentTime":22,"Description":"Rose Quarter to Clark County Fairgrounds","Distance":15.76,"EndPoint":{"Description":"I-5 and 179th St in Vancouver","Direction":"N","Latitude":45.754301000,"Longitude":-122.663841000,"MilePost":9.76,"RoadName":"I-5"},"Name":"Rose Quarter to Clark County Fairgrounds via 1-5","StartPoint":{"Description":"Rose Quarter in Portland","Direction":"N","Latitude":45.536250000,"Longitude":-122.667000000,"MilePost":302.50,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":372},{"AverageTime":35,"CurrentTime":37,"Description":"Tualatin OR to Salmon Creek WA","Distance":35.05,"EndPoint":{"Description":"Salmon Creek WA","Direction":"N","Latitude":45.707495000,"Longitude":-122.631733000,"MilePost":36.67,"RoadName":"I-205"},"Name":"Tualatin OR to Salmon Creek WA - via 205","StartPoint":{"Description":"Tualatin OR","Direction":"N","Latitude":45.372970000,"Longitude":-122.730000000,"MilePost":1.96,"RoadName":"I-205"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":373},{"AverageTime":35,"CurrentTime":34,"Description":"Tualatin OR to Salmon Creek WA","Distance":28.34,"EndPoint":{"Description":"I-5 and 134th St in Vancouver","Direction":"N","Latitude":45.716985000,"Longitude":-122.654515000,"MilePost":7.30,"RoadName":"I-5"},"Name":"Tualatin OR to Salmon Creek WA via 1-5","StartPoint":{"Description":"Tualatin OR in Portland","Direction":"N","Latitude":45.353550000,"Longitude":-122.765000000,"MilePost":287.46,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":374},{"AverageTime":8,"CurrentTime":12,"Description":"63rd St to I-5\/I-405 Jct.","Distance":8.03,"EndPoint":{"Description":"I-5 and I-405 JCT in Portland","Direction":"S","Latitude":45.556320000,"Longitude":-122.679010000,"MilePost":303.47,"RoadName":"I-5"},"Name":"I-5 SB and 63rd to I-405 JCT North","StartPoint":{"Description":"I-5 and 63rd in Vancouver","Direction":"S","Latitude":45.668141000,"Longitude":-122.666701000,"MilePost":3.10,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":375},{"AverageTime":11,"CurrentTime":17,"Description":"63rd to US-26 West","Distance":12.14,"EndPoint":{"Description":"US26 in Portland","Direction":"S","Latitude":45.513480000,"Longitude":-122.667930000,"MilePost":1.77,"RoadName":"I-405"},"Name":"I-5 SB and 63rd to US26","StartPoint":{"Description":"I-5 SB and 63rd in Vancouver","Direction":"S","Latitude":45.668141000,"Longitude":-122.666701000,"MilePost":3.10,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":376},{"AverageTime":10,"CurrentTime":11,"Description":"I-5 and Fourth Plain to SR 502","Distance":10.26,"EndPoint":{"Description":"I-5 and SR 502","Direction":"N","Latitude":45.781265690,"Longitude":-122.672017000,"MilePost":11.67,"RoadName":"I-5"},"Name":"I-5 and Fourth Plain to SR 502","StartPoint":{"Description":"I-5 and Fourth Plain","Direction":"N","Latitude":45.636339960,"Longitude":-122.662113000,"MilePost":1.41,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":377},{"AverageTime":22,"CurrentTime":22,"Description":"I-205 SB and 18th St to SR14 to I-5 to I-84 JCT","Distance":15.74,"EndPoint":{"Description":"I-5 and I-84 JCT in Portland","Direction":"S","Latitude":45.544850000,"Longitude":-122.677070000,"MilePost":302.17,"RoadName":"I-5"},"Name":"I-205 SB and 18th St to SR14 to I-5 to I-84 JCT","StartPoint":{"Description":"I-205 SB and 18th St to SR14 to I-5 in Vancouver","Direction":"S","Latitude":45.628406000,"Longitude":-122.559927000,"MilePost":29.87,"RoadName":"I-205"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":378},{"AverageTime":16,"CurrentTime":17,"Description":"I-205 SB and 18th St to I-84 to I-5 JCT","Distance":14.51,"EndPoint":{"Description":"I-84 to I-5 JCT","Direction":"W","Latitude":45.529760000,"Longitude":-122.649230000,"MilePost":0.45,"RoadName":"I-84"},"Name":"I-205 SB and 18th St to I-84 to I-5 JCT","StartPoint":{"Description":"I-205 SB and 18th St in Vancouver","Direction":"S","Latitude":45.640957000,"Longitude":-122.563394000,"MilePost":29.87,"RoadName":"I-205"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":379},{"AverageTime":10,"CurrentTime":11,"Description":"Federal Way (320th) to Tacoma Dome","Distance":9.55,"EndPoint":{"Description":"I-5 @ Tacoma Dome MP 134","Direction":"S","Latitude":47.234857000,"Longitude":-122.426813000,"MilePost":134.09,"RoadName":"005"},"Name":"Federal Way-Tacoma (SB PM)","StartPoint":{"Description":"I-5 @ Federal Way VMS MP 145.22","Direction":"S","Latitude":47.315327000,"Longitude":-122.297855000,"MilePost":143.64,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":382},{"AverageTime":21,"CurrentTime":21,"Description":"SR14 and Cascade Pk to I-5 and I-84 JCT","Distance":14.90,"EndPoint":{"Description":"I-5 and I-84 JCT in Portland","Direction":"S","Latitude":45.532950000,"Longitude":-122.666410000,"MilePost":302.17,"RoadName":"I-5"},"Name":"019 SR14 and Cascade Pk to I-5 and I-84 JCT","StartPoint":{"Description":"SR14 and Cascade Park in Vancouver","Direction":"W","Latitude":45.596111000,"Longitude":-122.519722000,"MilePost":7.72,"RoadName":"SR 14"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":384},{"AverageTime":18,"CurrentTime":18,"Description":"SR14 and Cascade Pk to I-205 to I-5 and I-84 JCT","Distance":14.22,"EndPoint":{"Description":"I-5 and I-84 JCT in Portland","Direction":"W","Latitude":45.525600000,"Longitude":-122.660460000,"MilePost":0.45,"RoadName":"I-84"},"Name":"020 SR14 and Cascade Pk to I-205 to I-5 and I-84 JCT","StartPoint":{"Description":"SR14 and Cascade Park in Vancouver","Direction":"W","Latitude":45.596111000,"Longitude":-122.519722000,"MilePost":7.72,"RoadName":"SR 14"},"TimeUpdated":"\/Date(1502667000000-0700)\/","TravelTimeID":385},{"AverageTime":9,"CurrentTime":9,"Description":"EB SR 16 Olympic Dr WB To EB SR 16 Sprague EB On Ramp","Distance":8.38,"EndPoint":{"Description":"SR 16 @ Sprague EB On Ramp in Tacoma","Direction":"E","Latitude":47.235190720,"Longitude":-122.467893000,"MilePost":1.00,"RoadName":"SR 16"},"Name":"EB SR 16, Olympic Dr To I-5 Jct","StartPoint":{"Description":"SR 16 @ Olympic Dr WB in Gig Harbor","Direction":"E","Latitude":47.309330000,"Longitude":-122.579790000,"MilePost":11.07,"RoadName":"SR 16"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":386},{"AverageTime":3,"CurrentTime":3,"Description":"EB SR 16 Olympic Dr WB To TNB-West","Distance":2.66,"EndPoint":{"Description":"SR 16 @ TNB-West in Gig Harbor","Direction":"E","Latitude":47.275660000,"Longitude":-122.560450000,"MilePost":8.41,"RoadName":"SR 16"},"Name":"EB SR 16, Olympic Dr To TNB-West","StartPoint":{"Description":"SR 16 @ Olympic Dr WB in Gig Harbor","Direction":"E","Latitude":47.309330000,"Longitude":-122.579790000,"MilePost":11.07,"RoadName":"SR 16"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":387},{"AverageTime":17,"CurrentTime":17,"Description":"SB I-5 Port of Tacoma To JBLM Main Gate","Distance":15.70,"EndPoint":{"Description":"I-5 @ JBLM Main Gate","Direction":"S","Latitude":47.104936560,"Longitude":-122.585386000,"MilePost":121.04,"RoadName":"I-5"},"Name":"SB I-5, PoT To JBLM Main Gate","StartPoint":{"Description":"I-5 @ PoT in Tacoma","Direction":"S","Latitude":47.240541000,"Longitude":-122.372755000,"MilePost":136.74,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":388},{"AverageTime":5,"CurrentTime":5,"Description":"SB I-5 Port of Tacoma To SR 16","Distance":3.83,"EndPoint":{"Description":"I-5 @ SR 16 in Tacoma","Direction":"S","Latitude":47.230182500,"Longitude":-122.449769000,"MilePost":132.91,"RoadName":"I-5"},"Name":"SB I-5, PoT To SR 16","StartPoint":{"Description":"I-5 @ PoT in Tacoma","Direction":"S","Latitude":47.240541000,"Longitude":-122.372755000,"MilePost":136.74,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":389},{"AverageTime":11,"CurrentTime":11,"Description":"SB I-5 Port of Tacoma To SR 512","Distance":9.39,"EndPoint":{"Description":"I-5 @ SR 512 in Lakewood","Direction":"S","Latitude":47.161583510,"Longitude":-122.481133000,"MilePost":127.35,"RoadName":"I-5"},"Name":"SB I-5, PoT To SR 512","StartPoint":{"Description":"I-5 @ PoT in Tacoma","Direction":"S","Latitude":47.240541000,"Longitude":-122.372755000,"MilePost":136.74,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":390},{"AverageTime":22,"CurrentTime":20,"Description":"SB I-5 Pierce King County Line To JBLM Main Gate","Distance":18.37,"EndPoint":{"Description":"I-5 @ JBLM Main Gate","Direction":"S","Latitude":47.104936560,"Longitude":-122.585386000,"MilePost":121.04,"RoadName":"I-5"},"Name":"SB I-5, PKCL To JBLM Main Gate","StartPoint":{"Description":"I-5 @ Pierce King County Line","Direction":"S","Latitude":47.255624000,"Longitude":-122.331130000,"MilePost":139.41,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":401},{"AverageTime":9,"CurrentTime":8,"Description":"SB I-5 Pierce King County Line To SR 16","Distance":6.50,"EndPoint":{"Description":"I-5 @ SR 16 in Tacoma","Direction":"S","Latitude":47.230182500,"Longitude":-122.449769000,"MilePost":132.91,"RoadName":"I-5"},"Name":"SB I-5, PKCL To SR 16","StartPoint":{"Description":"I-5 @ Pierce King County Line","Direction":"S","Latitude":47.255624000,"Longitude":-122.331130000,"MilePost":139.41,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":402},{"AverageTime":15,"CurrentTime":14,"Description":"SB I-5 Pierce King County Line To SR 512","Distance":12.06,"EndPoint":{"Description":"I-5 @ SR 512 in Lakewood","Direction":"S","Latitude":47.161583510,"Longitude":-122.481133000,"MilePost":127.35,"RoadName":"I-5"},"Name":"SB I-5, PKCL To SR 512","StartPoint":{"Description":"I-5 @ Pierce King County Line","Direction":"S","Latitude":47.255624000,"Longitude":-122.331130000,"MilePost":139.41,"RoadName":"I-5"},"TimeUpdated":"\/Date(1502667300000-0700)\/","TravelTimeID":403}]

Gearing up for some data engineering

Import the libraries we need (pandas, json, and a few friends).

In [20]:
import json
import pandas as pd
import os
from pandas.io.json import json_normalize

jsondir = "/home/vagrant/json"
wsdot_traffic_filepath = jsondir + "/wsdot_traffic/2017-08-13-23-39-28"

Open the json file with python and have a look

In [21]:
with open(wsdot_traffic_filepath) as json_file:
  raw_json = json.load(json_file)

raw_json
Out[21]:
[{'AverageTime': 30,
  'CurrentTime': 34,
  'Description': 'Everett to Downtown Seattle using HOV lanes',
  'Distance': 26.72,
  'EndPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'S',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'Name': 'HOV Everett-Seattle (SB AM)',
  'StartPoint': {'Description': 'I-5 @ 41st St in Everett',
   'Direction': 'S',
   'Latitude': 47.92428,
   'Longitude': -122.26548,
   'MilePost': 192.55,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 2},
 {'AverageTime': 27,
  'CurrentTime': 28,
  'Description': 'Downtown Seattle to Everett using HOV lanes',
  'Distance': 26.94,
  'EndPoint': {'Description': 'I-5 @ 41st St in Everett',
   'Direction': 'N',
   'Latitude': 47.92428,
   'Longitude': -122.26548,
   'MilePost': 192.77,
   'RoadName': 'I-5'},
  'Name': 'HOV Seattle-Everett (NB PM)',
  'StartPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 3},
 {'AverageTime': 27,
  'CurrentTime': 28,
  'Description': 'Downtown Seattle to Everett',
  'Distance': 26.94,
  'EndPoint': {'Description': 'I-5 @ 41st St in Everett',
   'Direction': 'N',
   'Latitude': 47.92428,
   'Longitude': -122.26548,
   'MilePost': 192.77,
   'RoadName': 'I-5'},
  'Name': 'Seattle-Everett (NB PM)',
  'StartPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 4},
 {'AverageTime': 11,
  'CurrentTime': 11,
  'Description': 'Downtown Bellevue to Issaquah',
  'Distance': 9.55,
  'EndPoint': {'Description': 'I-90 @ Front St in Issaquah',
   'Direction': 'E',
   'Latitude': 47.541799,
   'Longitude': -122.037396,
   'MilePost': 16.96,
   'RoadName': 'I-90'},
  'Name': 'Bellevue-Issaquah (EB PM)',
  'StartPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'S',
   'Latitude': 47.6138,
   'Longitude': -122.18892,
   'MilePost': 13.33,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 5},
 {'AverageTime': 11,
  'CurrentTime': 11,
  'Description': 'Downtown Bellevue to Issaquah using HOV lanes',
  'Distance': 9.55,
  'EndPoint': {'Description': 'I-90 @ Front St in Issaquah',
   'Direction': 'E',
   'Latitude': 47.541799,
   'Longitude': -122.037396,
   'MilePost': 16.96,
   'RoadName': 'I-90'},
  'Name': 'HOV Bellevue-Issaquah (EB PM)',
  'StartPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'S',
   'Latitude': 47.6138,
   'Longitude': -122.18892,
   'MilePost': 13.33,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 6},
 {'AverageTime': 10,
  'CurrentTime': 10,
  'Description': 'Issaquah to Downtown Bellevue using HOV lanes',
  'Distance': 9.48,
  'EndPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'N',
   'Latitude': 47.61361,
   'Longitude': -122.18797,
   'MilePost': 13.6,
   'RoadName': 'I-405'},
  'Name': 'HOV Issaquah-Bellevue (WB AM)',
  'StartPoint': {'Description': 'I-90 @ Front St in Issaquah',
   'Direction': 'W',
   'Latitude': 47.541799,
   'Longitude': -122.037396,
   'MilePost': 16.96,
   'RoadName': 'I-90'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 7},
 {'AverageTime': 11,
  'CurrentTime': 13,
  'Description': 'Issaquah to Downtown Bellevue',
  'Distance': 9.48,
  'EndPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'N',
   'Latitude': 47.61361,
   'Longitude': -122.18797,
   'MilePost': 13.6,
   'RoadName': 'I-405'},
  'Name': 'Issaquah-Bellevue (WB AM)',
  'StartPoint': {'Description': 'I-90 @ Front St in Issaquah',
   'Direction': 'W',
   'Latitude': 47.541799,
   'Longitude': -122.037396,
   'MilePost': 16.96,
   'RoadName': 'I-90'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 8},
 {'AverageTime': 26,
  'CurrentTime': 26,
  'Description': 'Downtown Bellevue to Everett',
  'Distance': 26.06,
  'EndPoint': {'Description': 'I-5 @ 41st St in Everett',
   'Direction': 'N',
   'Latitude': 47.92428,
   'Longitude': -122.26548,
   'MilePost': 192.77,
   'RoadName': 'I-5'},
  'Name': 'Bellevue-Everett (NB PM)',
  'StartPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'N',
   'Latitude': 47.61361,
   'Longitude': -122.18797,
   'MilePost': 13.6,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 9},
 {'AverageTime': 28,
  'CurrentTime': 27,
  'Description': 'Everett to Downtown Bellevue',
  'Distance': 26.34,
  'EndPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'S',
   'Latitude': 47.6138,
   'Longitude': -122.18892,
   'MilePost': 13.33,
   'RoadName': 'I-405'},
  'Name': 'Everett-Bellevue (SB AM)',
  'StartPoint': {'Description': 'I-5 @ 41st St in Everett',
   'Direction': 'S',
   'Latitude': 47.92428,
   'Longitude': -122.26548,
   'MilePost': 192.55,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 10},
 {'AverageTime': 26,
  'CurrentTime': 26,
  'Description': 'Downtown Bellevue to Everett using HOV lanes',
  'Distance': 26.06,
  'EndPoint': {'Description': 'I-5 @ 41st St in Everett',
   'Direction': 'N',
   'Latitude': 47.92428,
   'Longitude': -122.26548,
   'MilePost': 192.77,
   'RoadName': 'I-5'},
  'Name': 'HOV Bellevue-Everett (NB PM)',
  'StartPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'N',
   'Latitude': 47.61361,
   'Longitude': -122.18797,
   'MilePost': 13.6,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 11},
 {'AverageTime': 27,
  'CurrentTime': 27,
  'Description': 'Everett to Downtown Bellevue using HOV lanes',
  'Distance': 26.34,
  'EndPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'S',
   'Latitude': 47.6138,
   'Longitude': -122.18892,
   'MilePost': 13.33,
   'RoadName': 'I-405'},
  'Name': 'HOV Everett-Bellevue (SB AM)',
  'StartPoint': {'Description': 'I-5 @ 41st St in Everett',
   'Direction': 'S',
   'Latitude': 47.92428,
   'Longitude': -122.26548,
   'MilePost': 192.55,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 12},
 {'AverageTime': 17,
  'CurrentTime': 37,
  'Description': 'Federal Way to SeaTac',
  'Distance': 8.82,
  'EndPoint': {'Description': 'I-5 @ S 188th St in SeaTac',
   'Direction': 'N',
   'Latitude': 47.43876,
   'Longitude': -122.26947,
   'MilePost': 152.8,
   'RoadName': 'I-5'},
  'Name': 'Federal Way-SeaTac (NB AM)',
  'StartPoint': {'Description': 'I-5 @ S 320th St in Federal Way',
   'Direction': 'N',
   'Latitude': 47.315446,
   'Longitude': -122.296702,
   'MilePost': 143.98,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 13},
 {'AverageTime': 12,
  'CurrentTime': 10,
  'Description': 'Federal Way to SeaTac using HOV lanes',
  'Distance': 8.82,
  'EndPoint': {'Description': 'I-5 @ S 188th St in SeaTac',
   'Direction': 'N',
   'Latitude': 47.43876,
   'Longitude': -122.26947,
   'MilePost': 152.8,
   'RoadName': 'I-5'},
  'Name': 'HOV Federal Way-SeaTac (NB AM)',
  'StartPoint': {'Description': 'I-5 @ S 320th St in Federal Way',
   'Direction': 'N',
   'Latitude': 47.315446,
   'Longitude': -122.296702,
   'MilePost': 143.98,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 14},
 {'AverageTime': 9,
  'CurrentTime': 9,
  'Description': 'SeaTac to Federal Way using HOV lanes',
  'Distance': 9.16,
  'EndPoint': {'Description': 'I-5 @ S 320th St in Federal Way',
   'Direction': 'S',
   'Latitude': 47.31384,
   'Longitude': -122.298609,
   'MilePost': 143.64,
   'RoadName': 'I-5'},
  'Name': 'HOV SeaTac-Federal Way (SB PM)',
  'StartPoint': {'Description': 'I-5 @ S 188th St in SeaTac',
   'Direction': 'S',
   'Latitude': 47.43876,
   'Longitude': -122.26947,
   'MilePost': 152.8,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 15},
 {'AverageTime': 9,
  'CurrentTime': 9,
  'Description': 'SeaTac to Federal Way',
  'Distance': 9.16,
  'EndPoint': {'Description': 'I-5 @ S 320th St in Federal Way',
   'Direction': 'S',
   'Latitude': 47.31384,
   'Longitude': -122.298609,
   'MilePost': 143.64,
   'RoadName': 'I-5'},
  'Name': 'SeaTac-Federal Way (SB PM)',
  'StartPoint': {'Description': 'I-5 @ S 188th St in SeaTac',
   'Direction': 'S',
   'Latitude': 47.43876,
   'Longitude': -122.26947,
   'MilePost': 152.8,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 16},
 {'AverageTime': 33,
  'CurrentTime': 58,
  'Description': 'Federal Way to Downtown Seattle',
  'Distance': 22.15,
  'EndPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'Name': 'Federal Way-Seattle (NB AM)',
  'StartPoint': {'Description': 'I-5 @ S 320th St in Federal Way',
   'Direction': 'N',
   'Latitude': 47.315446,
   'Longitude': -122.296702,
   'MilePost': 143.98,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 17},
 {'AverageTime': 28,
  'CurrentTime': 25,
  'Description': 'Federal Way to Downtown Seattle using HOV lanes',
  'Distance': 22.15,
  'EndPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'Name': 'HOV Federal Way-Seattle (NB AM)',
  'StartPoint': {'Description': 'I-5 @ S 320th St in Federal Way',
   'Direction': 'N',
   'Latitude': 47.315446,
   'Longitude': -122.296702,
   'MilePost': 143.98,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 18},
 {'AverageTime': 22,
  'CurrentTime': 23,
  'Description': 'Downtown Seattle to Federal Way using HOV lanes',
  'Distance': 22.19,
  'EndPoint': {'Description': 'I-5 @ S 320th St in Federal Way',
   'Direction': 'S',
   'Latitude': 47.31384,
   'Longitude': -122.298609,
   'MilePost': 143.64,
   'RoadName': 'I-5'},
  'Name': 'HOV Seattle-Federal Way (SB PM)',
  'StartPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'S',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 19},
 {'AverageTime': 22,
  'CurrentTime': 22,
  'Description': 'Downtown Seattle to Federal Way',
  'Distance': 22.19,
  'EndPoint': {'Description': 'I-5 @ S 320th St in Federal Way',
   'Direction': 'S',
   'Latitude': 47.31384,
   'Longitude': -122.298609,
   'MilePost': 143.64,
   'RoadName': 'I-5'},
  'Name': 'Seattle-Federal Way (SB PM)',
  'StartPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'S',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 20},
 {'AverageTime': 27,
  'CurrentTime': 50,
  'Description': 'Downtown Bellevue to Federal Way',
  'Distance': 24.56,
  'EndPoint': {'Description': 'I-5 @ S 320th St in Federal Way',
   'Direction': 'S',
   'Latitude': 47.31384,
   'Longitude': -122.298609,
   'MilePost': 143.64,
   'RoadName': 'I-5'},
  'Name': 'Bellevue-Federal Way (SB PM)',
  'StartPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'S',
   'Latitude': 47.6138,
   'Longitude': -122.18892,
   'MilePost': 13.33,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 21},
 {'AverageTime': 35,
  'CurrentTime': 56,
  'Description': 'Federal Way to Downtown Bellevue',
  'Distance': 23.58,
  'EndPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'N',
   'Latitude': 47.61361,
   'Longitude': -122.18797,
   'MilePost': 13.6,
   'RoadName': 'I-405'},
  'Name': 'Federal Way-Bellevue (NB AM)',
  'StartPoint': {'Description': 'I-5 @ S 320th St in Federal Way',
   'Direction': 'N',
   'Latitude': 47.315446,
   'Longitude': -122.296702,
   'MilePost': 143.98,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 22},
 {'AverageTime': 26,
  'CurrentTime': 33,
  'Description': 'Downtown Bellevue to Federal Way using HOV lanes',
  'Distance': 24.56,
  'EndPoint': {'Description': 'I-5 @ S 320th St in Federal Way',
   'Direction': 'S',
   'Latitude': 47.31384,
   'Longitude': -122.298609,
   'MilePost': 143.64,
   'RoadName': 'I-5'},
  'Name': 'HOV Bellevue-Federal Way (SB PM)',
  'StartPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'S',
   'Latitude': 47.6138,
   'Longitude': -122.18892,
   'MilePost': 13.33,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 23},
 {'AverageTime': 30,
  'CurrentTime': 27,
  'Description': 'Federal Way to Downtown Bellevue using HOV lanes',
  'Distance': 23.58,
  'EndPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'N',
   'Latitude': 47.61361,
   'Longitude': -122.18797,
   'MilePost': 13.6,
   'RoadName': 'I-405'},
  'Name': 'HOV Federal Way-Bellevue (NB AM)',
  'StartPoint': {'Description': 'I-5 @ S 320th St in Federal Way',
   'Direction': 'N',
   'Latitude': 47.315446,
   'Longitude': -122.296702,
   'MilePost': 143.98,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 24},
 {'AverageTime': 16,
  'CurrentTime': 17,
  'Description': 'Downtown Seattle to Lynnwood using HOV lanes',
  'Distance': 15.73,
  'EndPoint': {'Description': 'I-5 @ 196th St SW in Lynnwood',
   'Direction': 'N',
   'Latitude': 47.819545,
   'Longitude': -122.279109,
   'MilePost': 181.56,
   'RoadName': 'I-5'},
  'Name': 'HOV Seattle-Lynnwood (NB PM)',
  'StartPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 25},
 {'AverageTime': 19,
  'CurrentTime': 23,
  'Description': 'Lynnwood to Downtown Seattle',
  'Distance': 15.23,
  'EndPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'S',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'Name': 'Lynnwood-Seattle (SB AM)',
  'StartPoint': {'Description': 'I-5 @ 196th St SW in Lynnwood',
   'Direction': 'S',
   'Latitude': 47.817269,
   'Longitude': -122.285137,
   'MilePost': 181.06,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 26},
 {'AverageTime': 16,
  'CurrentTime': 18,
  'Description': 'Downtown Seattle to Lynnwood',
  'Distance': 15.73,
  'EndPoint': {'Description': 'I-5 @ 196th St SW in Lynnwood',
   'Direction': 'N',
   'Latitude': 47.819545,
   'Longitude': -122.279109,
   'MilePost': 181.56,
   'RoadName': 'I-5'},
  'Name': 'Seattle-Lynnwood (NB PM)',
  'StartPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 27},
 {'AverageTime': 0,
  'CurrentTime': 0,
  'Description': 'Lynnwood to Downtown Seattle using express lanes and HOV lanes',
  'Distance': 0.0,
  'EndPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'Name': 'HOV Lynnwood-Seattle (SB REV)',
  'StartPoint': {'Description': 'I-5 @ 196th St SW in Lynnwood',
   'Direction': 'S',
   'Latitude': 47.817269,
   'Longitude': -122.285137,
   'MilePost': 181.06,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 28},
 {'AverageTime': 0,
  'CurrentTime': 0,
  'Description': 'Lynnwood to Downtown Seattle using express lanes',
  'Distance': 0.0,
  'EndPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'Name': 'Lynnwood-Seattle (SB REV)',
  'StartPoint': {'Description': 'I-5 @ 196th St SW in Lynnwood',
   'Direction': 'S',
   'Latitude': 47.817269,
   'Longitude': -122.285137,
   'MilePost': 181.06,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 29},
 {'AverageTime': 17,
  'CurrentTime': 21,
  'Description': 'Renton to Downtown Seattle using HOV lanes',
  'Distance': 13.77,
  'EndPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'Name': 'HOV Renton-Seattle (NB AM)',
  'StartPoint': {'Description': 'I-405 @ SR 167 in Renton',
   'Direction': 'S',
   'Latitude': 47.467434,
   'Longitude': -122.219631,
   'MilePost': 2.21,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 30},
 {'AverageTime': 15,
  'CurrentTime': 14,
  'Description': 'Downtown Seattle to Renton using HOV lanes',
  'Distance': 13.61,
  'EndPoint': {'Description': 'I-405 @ SR 167 in Renton',
   'Direction': 'N',
   'Latitude': 47.467434,
   'Longitude': -122.219631,
   'MilePost': 2.21,
   'RoadName': 'I-405'},
  'Name': 'HOV Seattle-Renton (SB PM)',
  'StartPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'S',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 31},
 {'AverageTime': 17,
  'CurrentTime': 36,
  'Description': 'Renton to Downtown Seattle',
  'Distance': 13.69,
  'EndPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'Name': 'Renton-Seattle (NB AM)',
  'StartPoint': {'Description': 'I-405 @ SR 167 in Renton',
   'Direction': 'S',
   'Latitude': 47.467434,
   'Longitude': -122.219631,
   'MilePost': 2.21,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 32},
 {'AverageTime': 14,
  'CurrentTime': 15,
  'Description': 'Downtown Seattle to Renton',
  'Distance': 13.61,
  'EndPoint': {'Description': 'I-405 @ SR 167 in Renton',
   'Direction': 'N',
   'Latitude': 47.467434,
   'Longitude': -122.219631,
   'MilePost': 2.21,
   'RoadName': 'I-405'},
  'Name': 'Seattle-Renton (SB PM)',
  'StartPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'S',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 33},
 {'AverageTime': 0,
  'CurrentTime': 0,
  'Description': 'Northgate to Downtown Seattle using express lanes',
  'Distance': 0.0,
  'EndPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'Name': 'Shoreline-Seattle (SB REV)',
  'StartPoint': {'Description': 'I-5 @ NE Northgate Way in Northgate',
   'Direction': 'S',
   'Latitude': 47.77418,
   'Longitude': -122.329912,
   'MilePost': 171.62,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 34},
 {'AverageTime': 16,
  'CurrentTime': 16,
  'Description': 'Downtown Bellevue to Lynnwood',
  'Distance': 15.61,
  'EndPoint': {'Description': 'I-5 @ SR 526 in Lynnwood',
   'Direction': 'N',
   'Latitude': 47.920431,
   'Longitude': -122.206552,
   'MilePost': 29.53,
   'RoadName': 'I-405'},
  'Name': 'Bellevue-Lynnwood (NB PM)',
  'StartPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'N',
   'Latitude': 47.61361,
   'Longitude': -122.18797,
   'MilePost': 13.92,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 35},
 {'AverageTime': 15,
  'CurrentTime': 15,
  'Description': 'Downtown Bellevue to Lynnwood using HOV lanes',
  'Distance': 14.9,
  'EndPoint': {'Description': 'I-5 @ SR 526 in Lynnwood',
   'Direction': 'N',
   'Latitude': 47.920431,
   'Longitude': -122.206552,
   'MilePost': 29.53,
   'RoadName': 'I-405'},
  'Name': 'HOV Bellevue-Lynnwood (NB PM)',
  'StartPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'N',
   'Latitude': 47.61361,
   'Longitude': -122.18797,
   'MilePost': 14.63,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 36},
 {'AverageTime': 16,
  'CurrentTime': 16,
  'Description': 'Lynnwood to Downtown Bellevue using HOV lanes',
  'Distance': 16.2,
  'EndPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'S',
   'Latitude': 47.6138,
   'Longitude': -122.18892,
   'MilePost': 13.33,
   'RoadName': 'I-405'},
  'Name': 'HOV Lynnwood-Bellevue (SB AM)',
  'StartPoint': {'Description': 'I-5 @ SR 526 in Lynnwood',
   'Direction': 'S',
   'Latitude': 47.920431,
   'Longitude': -122.206552,
   'MilePost': 29.53,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 37},
 {'AverageTime': 16,
  'CurrentTime': 16,
  'Description': 'Lynnwood to Downtown Bellevue',
  'Distance': 16.2,
  'EndPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'S',
   'Latitude': 47.6138,
   'Longitude': -122.18892,
   'MilePost': 13.33,
   'RoadName': 'I-405'},
  'Name': 'Lynnwood-Bellevue (SB AM)',
  'StartPoint': {'Description': 'I-5 @ SR 526 in Lynnwood',
   'Direction': 'S',
   'Latitude': 47.920431,
   'Longitude': -122.206552,
   'MilePost': 29.53,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 38},
 {'AverageTime': 0,
  'CurrentTime': 0,
  'Description': 'Everett to Downtown Seattle using express lanes',
  'Distance': 0.0,
  'EndPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'Name': 'Everett-Seattle (SB REV)',
  'StartPoint': {'Description': 'I-5 @ 41st St in Everett',
   'Direction': 'S',
   'Latitude': 47.92428,
   'Longitude': -122.26548,
   'MilePost': 192.55,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 39},
 {'AverageTime': 0,
  'CurrentTime': 0,
  'Description': 'Everett to Downtown Seattle using express lanes and HOV lanes',
  'Distance': 0.0,
  'EndPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'Name': '1B HOV Everett-Seattle (SB REV)',
  'StartPoint': {'Description': 'I-5 @ 41st St in Everett',
   'Direction': 'S',
   'Latitude': 47.92428,
   'Longitude': -122.26548,
   'MilePost': 192.55,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 40},
 {'AverageTime': 16,
  'CurrentTime': 15,
  'Description': 'SeaTac to Downtown Seattle using HOV lanes',
  'Distance': 13.33,
  'EndPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'Name': 'HOV SeaTac-Seattle (NB AM)',
  'StartPoint': {'Description': 'I-5 @ S 188th St in SeaTac',
   'Direction': 'N',
   'Latitude': 47.43876,
   'Longitude': -122.26947,
   'MilePost': 152.8,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 41},
 {'AverageTime': 14,
  'CurrentTime': 13,
  'Description': 'Downtown Seattle to SeaTac using HOV lanes',
  'Distance': 13.03,
  'EndPoint': {'Description': 'I-5 @ S 188th St in SeaTac',
   'Direction': 'S',
   'Latitude': 47.43876,
   'Longitude': -122.26947,
   'MilePost': 152.8,
   'RoadName': 'I-5'},
  'Name': 'HOV Seattle-SeaTac (SB PM)',
  'StartPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'S',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 42},
 {'AverageTime': 16,
  'CurrentTime': 17,
  'Description': 'SeaTac to Downtown Seattle',
  'Distance': 13.03,
  'EndPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'Name': 'SeaTac-Seattle (NB AM)',
  'StartPoint': {'Description': 'I-5 @ S 188th St in SeaTac',
   'Direction': 'N',
   'Latitude': 47.43876,
   'Longitude': -122.26947,
   'MilePost': 152.8,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 43},
 {'AverageTime': 14,
  'CurrentTime': 13,
  'Description': 'Downtown Seattle to SeaTac',
  'Distance': 13.03,
  'EndPoint': {'Description': 'I-5 @ S 188th St in SeaTac',
   'Direction': 'S',
   'Latitude': 47.43876,
   'Longitude': -122.26947,
   'MilePost': 152.8,
   'RoadName': 'I-5'},
  'Name': 'Seattle-SeaTac (SB PM)',
  'StartPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'S',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 44},
 {'AverageTime': 31,
  'CurrentTime': 55,
  'Description': 'Alderwood to Southcenter via I-405',
  'Distance': 29.42,
  'EndPoint': {'Description': 'I-405 @ I-5 in Tukwila',
   'Direction': 'S',
   'Latitude': 47.463303,
   'Longitude': -122.262701,
   'MilePost': 0.11,
   'RoadName': 'I-405'},
  'Name': 'Alderwood to Southcenter via I-405 (SB AM)',
  'StartPoint': {'Description': 'I-405 @ SR 525 in Lynnwood',
   'Direction': 'S',
   'Latitude': 47.8237,
   'Longitude': -122.2517,
   'MilePost': 29.53,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 51},
 {'AverageTime': 32,
  'CurrentTime': 35,
  'Description': 'Alderwood to Southcenter via I-5',
  'Distance': 27.97,
  'EndPoint': {'Description': 'I-5 @ I-405 in Tukwila',
   'Direction': 'S',
   'Latitude': 47.4648,
   'Longitude': -122.2657,
   'MilePost': 154.65,
   'RoadName': 'I-5'},
  'Name': 'Alderwood to Southcenter via I-5 (SB AM)',
  'StartPoint': {'Description': 'I-5 @ I-405 in Lynnwood',
   'Direction': 'S',
   'Latitude': 47.8308,
   'Longitude': -122.2636,
   'MilePost': 182.62,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 52},
 {'AverageTime': 32,
  'CurrentTime': 31,
  'Description': 'Southcenter to Alderwood via I-405',
  'Distance': 29.42,
  'EndPoint': {'Description': 'I-5 @ I-405 in Lynnwood',
   'Direction': 'N',
   'Latitude': 47.8308,
   'Longitude': -122.2636,
   'MilePost': 29.53,
   'RoadName': 'I-405'},
  'Name': 'Southcenter to Alderwood via I-405 (NB PM)',
  'StartPoint': {'Description': 'I-405 @ I-5 in Tukwila',
   'Direction': 'N',
   'Latitude': 47.463303,
   'Longitude': -122.262701,
   'MilePost': 0.11,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 53},
 {'AverageTime': 31,
  'CurrentTime': 31,
  'Description': 'Southcenter to Alderwood via I-5',
  'Distance': 27.39,
  'EndPoint': {'Description': 'I-5 @ I-405 in Lynnwood',
   'Direction': 'N',
   'Latitude': 47.8308,
   'Longitude': -122.2636,
   'MilePost': 182.04,
   'RoadName': 'I-5'},
  'Name': 'Southcenter to Alderwood via I-5 (NB PM)',
  'StartPoint': {'Description': 'I-5 @ I-405 in Tukwila',
   'Direction': 'N',
   'Latitude': 47.4648,
   'Longitude': -122.2657,
   'MilePost': 154.65,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 54},
 {'AverageTime': 9,
  'CurrentTime': 9,
  'Description': 'Downtown Bellevue to SR 522 in Bothell using HOV lanes',
  'Distance': 9.41,
  'EndPoint': {'Description': 'I-405 @ SR 522 in Bothell',
   'Direction': 'N',
   'Latitude': 47.751518,
   'Longitude': -122.187178,
   'MilePost': 23.01,
   'RoadName': 'I-405'},
  'Name': 'HOV Bellevue-SR 522 (NB PM)',
  'StartPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'N',
   'Latitude': 47.61361,
   'Longitude': -122.18797,
   'MilePost': 13.6,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 56},
 {'AverageTime': 10,
  'CurrentTime': 10,
  'Description': 'SR 522 in Bothell to Downtown Bellevue using HOV lanes',
  'Distance': 9.68,
  'EndPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'S',
   'Latitude': 47.6138,
   'Longitude': -122.18892,
   'MilePost': 13.33,
   'RoadName': 'I-405'},
  'Name': 'HOV SR 522-Bellevue (SB AM)',
  'StartPoint': {'Description': 'I-405 @ SR 522 in Bothell',
   'Direction': 'S',
   'Latitude': 47.751518,
   'Longitude': -122.187178,
   'MilePost': 23.01,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 57},
 {'AverageTime': 10,
  'CurrentTime': 10,
  'Description': 'SR 522 in Bothell to Downtown Bellevue',
  'Distance': 9.68,
  'EndPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'S',
   'Latitude': 47.6138,
   'Longitude': -122.18892,
   'MilePost': 13.33,
   'RoadName': 'I-405'},
  'Name': 'SR 522-Bellevue',
  'StartPoint': {'Description': 'I-405 @ SR 522 in Bothell',
   'Direction': 'S',
   'Latitude': 47.751518,
   'Longitude': -122.187178,
   'MilePost': 23.01,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 58},
 {'AverageTime': 24,
  'CurrentTime': 22,
  'Description': 'Woodinville to Downtown Seattle',
  'Distance': 20.26,
  'EndPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'Name': 'Woodinville-Seattle via I-90 (WB AM)',
  'StartPoint': {'Description': 'SR 522 @ SR 202 in Woodinville',
   'Direction': 'S',
   'Latitude': 47.75818,
   'Longitude': -122.16402,
   'MilePost': 23.01,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 59},
 {'AverageTime': 20,
  'CurrentTime': 20,
  'Description': 'Woodinville to Downtown Seattle',
  'Distance': 18.25,
  'EndPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'S',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'Name': 'Woodinville-Seattle via SR 520 (WB AM)',
  'StartPoint': {'Description': 'SR 522 @ SR 202 in Woodinville',
   'Direction': 'S',
   'Latitude': 47.75818,
   'Longitude': -122.16402,
   'MilePost': 23.01,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 60},
 {'AverageTime': 15,
  'CurrentTime': 39,
  'Description': 'Downtown Bellevue to Tukwila',
  'Distance': 13.22,
  'EndPoint': {'Description': 'I-405 @ I-5 in Tukwila',
   'Direction': 'S',
   'Latitude': 47.463303,
   'Longitude': -122.262701,
   'MilePost': 0.11,
   'RoadName': 'I-405'},
  'Name': 'Bellevue-Tukwila (SB PM)',
  'StartPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'S',
   'Latitude': 47.6138,
   'Longitude': -122.18892,
   'MilePost': 13.33,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 63},
 {'AverageTime': 15,
  'CurrentTime': 21,
  'Description': 'Downtown Bellevue to Tukwila using HOV lanes',
  'Distance': 13.22,
  'EndPoint': {'Description': 'I-405 @ I-5 in Tukwila',
   'Direction': 'S',
   'Latitude': 47.463303,
   'Longitude': -122.262701,
   'MilePost': 0.11,
   'RoadName': 'I-405'},
  'Name': 'HOV Bellevue-Tukwila (SB PM)',
  'StartPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'S',
   'Latitude': 47.6138,
   'Longitude': -122.18892,
   'MilePost': 13.33,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 64},
 {'AverageTime': 17,
  'CurrentTime': 15,
  'Description': 'Tukwila to Downtown Bellevue using HOV lanes',
  'Distance': 13.49,
  'EndPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'N',
   'Latitude': 47.61361,
   'Longitude': -122.18797,
   'MilePost': 13.6,
   'RoadName': 'I-405'},
  'Name': 'HOV Tukwila-Bellevue (NB AM)',
  'StartPoint': {'Description': 'I-405 @ I-5 in Tukwila',
   'Direction': 'N',
   'Latitude': 47.463303,
   'Longitude': -122.262701,
   'MilePost': 0.11,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 65},
 {'AverageTime': 15,
  'CurrentTime': 22,
  'Description': 'Auburn to Renton',
  'Distance': 9.76,
  'EndPoint': {'Description': 'SR 167 @ I-405 in Renton',
   'Direction': 'N',
   'Latitude': 47.458,
   'Longitude': -122.217,
   'MilePost': 25.62,
   'RoadName': 'SR 167'},
  'Name': 'Auburn-Renton (NB AM)',
  'StartPoint': {'Description': 'SR 167 @ 15th St NW in Auburn',
   'Direction': 'N',
   'Latitude': 47.323,
   'Longitude': -122.244,
   'MilePost': 15.86,
   'RoadName': 'SR 167'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 67},
 {'AverageTime': 12,
  'CurrentTime': 14,
  'Description': 'Auburn to Renton using HOV lanes',
  'Distance': 9.76,
  'EndPoint': {'Description': 'SR 167 @ I-405 in Renton',
   'Direction': 'N',
   'Latitude': 47.458,
   'Longitude': -122.217,
   'MilePost': 25.62,
   'RoadName': 'SR 167'},
  'Name': 'HOV Auburn-Renton (NB AM)',
  'StartPoint': {'Description': 'SR 167 @ 15th St NW in Auburn',
   'Direction': 'N',
   'Latitude': 47.323,
   'Longitude': -122.244,
   'MilePost': 15.86,
   'RoadName': 'SR 167'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 68},
 {'AverageTime': 10,
  'CurrentTime': 10,
  'Description': 'Renton to Auburn using HOV lanes',
  'Distance': 9.76,
  'EndPoint': {'Description': 'SR 167 @ 15th St NW in Auburn',
   'Direction': 'S',
   'Latitude': 47.323,
   'Longitude': -122.244,
   'MilePost': 15.86,
   'RoadName': 'SR 167'},
  'Name': 'HOV Renton-Auburn (SB PM)',
  'StartPoint': {'Description': 'SR 167 @ I-405 in Renton',
   'Direction': 'S',
   'Latitude': 47.458,
   'Longitude': -122.217,
   'MilePost': 25.62,
   'RoadName': 'SR 167'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 69},
 {'AverageTime': 10,
  'CurrentTime': 10,
  'Description': 'Renton to Auburn',
  'Distance': 9.76,
  'EndPoint': {'Description': 'SR 167 @ 15th St NW in Auburn',
   'Direction': 'S',
   'Latitude': 47.323,
   'Longitude': -122.244,
   'MilePost': 15.86,
   'RoadName': 'SR 167'},
  'Name': 'Renton-Auburn (SB PM)',
  'StartPoint': {'Description': 'SR 167 @ I-405 in Renton',
   'Direction': 'S',
   'Latitude': 47.458,
   'Longitude': -122.217,
   'MilePost': 25.62,
   'RoadName': 'SR 167'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 70},
 {'AverageTime': 19,
  'CurrentTime': 17,
  'Description': 'Issaquah to Downtown Seattle using HOV lanes',
  'Distance': 15.48,
  'EndPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'Name': 'HOV Issaquah-Seattle (WB PM)',
  'StartPoint': {'Description': 'I-90 @ Front St in Issaquah',
   'Direction': 'W',
   'Latitude': 47.541799,
   'Longitude': -122.037396,
   'MilePost': 16.96,
   'RoadName': 'I-90'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 71},
 {'AverageTime': 16,
  'CurrentTime': 17,
  'Description': 'Downtown Seattle to Issaquah using HOV lanes',
  'Distance': 15.71,
  'EndPoint': {'Description': 'I-90 @ Front St in Issaquah',
   'Direction': 'E',
   'Latitude': 47.541799,
   'Longitude': -122.037396,
   'MilePost': 16.96,
   'RoadName': 'I-90'},
  'Name': 'HOV Downtown Seattle-Issaquah (EB AM)',
  'StartPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'S',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 72},
 {'AverageTime': 21,
  'CurrentTime': 19,
  'Description': 'Issaquah to Downtown Seattle',
  'Distance': 15.48,
  'EndPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'Name': 'Issaquah-Seattle (WB PM)',
  'StartPoint': {'Description': 'I-90 @ Front St in Issaquah',
   'Direction': 'W',
   'Latitude': 47.541799,
   'Longitude': -122.037396,
   'MilePost': 16.96,
   'RoadName': 'I-90'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 73},
 {'AverageTime': 16,
  'CurrentTime': 16,
  'Description': 'Downtown Seattle to Issaquah',
  'Distance': 15.71,
  'EndPoint': {'Description': 'I-90 @ Front St in Issaquah',
   'Direction': 'E',
   'Latitude': 47.541799,
   'Longitude': -122.037396,
   'MilePost': 16.96,
   'RoadName': 'I-90'},
  'Name': 'Seattle-Issaquah (EB AM)',
  'StartPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'S',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 74},
 {'AverageTime': 15,
  'CurrentTime': 15,
  'Description': 'Redmond to Downtown Seattle using HOV lanes',
  'Distance': 14.6,
  'EndPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'S',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'Name': 'HOV Redmond-Seattle (WB PM)',
  'StartPoint': {'Description': 'SR 520 @ Redmond Way in Redmond',
   'Direction': 'W',
   'Latitude': 47.668087,
   'Longitude': -122.110145,
   'MilePost': 12.65,
   'RoadName': 'SR 520'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 77},
 {'AverageTime': 15,
  'CurrentTime': 15,
  'Description': 'Downtown Seattle to Redmond using HOV lanes',
  'Distance': 14.56,
  'EndPoint': {'Description': 'SR 520 @ Redmond Way in Redmond',
   'Direction': 'E',
   'Latitude': 47.668087,
   'Longitude': -122.110145,
   'MilePost': 12.66,
   'RoadName': 'SR 520'},
  'Name': 'HOV Seattle-Redmond (EB AM)',
  'StartPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 78},
 {'AverageTime': 15,
  'CurrentTime': 15,
  'Description': 'Redmond to Downtown Seattle',
  'Distance': 14.6,
  'EndPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'S',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'Name': 'Redmond-Seattle (WB PM)',
  'StartPoint': {'Description': 'SR 520 @ Redmond Way in Redmond',
   'Direction': 'W',
   'Latitude': 47.668087,
   'Longitude': -122.110145,
   'MilePost': 12.65,
   'RoadName': 'SR 520'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 79},
 {'AverageTime': 15,
  'CurrentTime': 15,
  'Description': 'Downtown Seattle to Redmond',
  'Distance': 14.56,
  'EndPoint': {'Description': 'SR 520 @ Redmond Way in Redmond',
   'Direction': 'E',
   'Latitude': 47.668087,
   'Longitude': -122.110145,
   'MilePost': 12.66,
   'RoadName': 'SR 520'},
  'Name': 'Seattle-Redmond (EB AM)',
  'StartPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 80},
 {'AverageTime': 23,
  'CurrentTime': 21,
  'Description': 'Redmond to Downtown Seattle using HOV lanes via I-90',
  'Distance': 18.21,
  'EndPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'Name': 'HOV Redmond-Seattle via I-90 (WB PM)',
  'StartPoint': {'Description': 'SR 520 @ Redmond Way in Redmond',
   'Direction': 'W',
   'Latitude': 47.668087,
   'Longitude': -122.110145,
   'MilePost': 12.65,
   'RoadName': 'SR 520'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 81},
 {'AverageTime': 19,
  'CurrentTime': 19,
  'Description': 'Downtown Seattle to Redmond via I-90 using HOV lanes',
  'Distance': 17.22,
  'EndPoint': {'Description': 'SR 520 @ Redmond Way in Redmond',
   'Direction': 'E',
   'Latitude': 47.668087,
   'Longitude': -122.110145,
   'MilePost': 12.66,
   'RoadName': 'SR 520'},
  'Name': 'HOV Seattle-Redmond via I-90 (EB AM)',
  'StartPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'S',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 82},
 {'AverageTime': 23,
  'CurrentTime': 21,
  'Description': 'Redmond to Downtown Seattle via I-90',
  'Distance': 18.19,
  'EndPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'Name': 'Redmond-Seattle via I-90 (WB PM)',
  'StartPoint': {'Description': 'SR 520 @ Redmond Way in Redmond',
   'Direction': 'W',
   'Latitude': 47.668087,
   'Longitude': -122.110145,
   'MilePost': 12.65,
   'RoadName': 'SR 520'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 83},
 {'AverageTime': 19,
  'CurrentTime': 19,
  'Description': 'Downtown Seattle to Redmond via I-90',
  'Distance': 17.22,
  'EndPoint': {'Description': 'SR 520 @ Redmond Way in Redmond',
   'Direction': 'E',
   'Latitude': 47.668087,
   'Longitude': -122.110145,
   'MilePost': 12.66,
   'RoadName': 'SR 520'},
  'Name': 'Seattle-Redmond via I-90 (EB AM)',
  'StartPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'S',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 84},
 {'AverageTime': 11,
  'CurrentTime': 11,
  'Description': 'Downtown Bellevue to Downtown Seattle using SR 520',
  'Distance': 9.73,
  'EndPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'S',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'Name': 'Bellevue-Seattle via 520 (WB PM)',
  'StartPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'N',
   'Latitude': 47.61361,
   'Longitude': -122.18797,
   'MilePost': 13.6,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 89},
 {'AverageTime': 11,
  'CurrentTime': 11,
  'Description': 'Downtown Bellevue to Downtown Seattle via SR 520 using HOV lanes',
  'Distance': 9.73,
  'EndPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'S',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'Name': 'HOV Bellevue-Seattle via 520 (WB PM)',
  'StartPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'N',
   'Latitude': 47.61361,
   'Longitude': -122.18797,
   'MilePost': 13.6,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 90},
 {'AverageTime': 12,
  'CurrentTime': 12,
  'Description': 'Downtown Seattle to Downtown Bellevue via SR 520 using HOV lanes',
  'Distance': 10.83,
  'EndPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'S',
   'Latitude': 47.6138,
   'Longitude': -122.18892,
   'MilePost': 13.33,
   'RoadName': 'I-405'},
  'Name': 'HOV Seattle-Bellevue via 520 (EB AM)',
  'StartPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 91},
 {'AverageTime': 11,
  'CurrentTime': 11,
  'Description': 'Downtown Seattle to Downtown Bellevue via SR 520',
  'Distance': 9.67,
  'EndPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'S',
   'Latitude': 47.6138,
   'Longitude': -122.18892,
   'MilePost': 13.33,
   'RoadName': 'I-405'},
  'Name': 'Seattle-Bellevue via 520 (EB AM)',
  'StartPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 92},
 {'AverageTime': 15,
  'CurrentTime': 13,
  'Description': 'Downtown Bellevue to Downtown Seattle using I-90',
  'Distance': 10.58,
  'EndPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'Name': 'Bellevue-Seattle via I-90 (WB PM)',
  'StartPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'S',
   'Latitude': 47.6138,
   'Longitude': -122.18892,
   'MilePost': 13.33,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 93},
 {'AverageTime': 15,
  'CurrentTime': 13,
  'Description': 'Downtown Bellevue to Downtown Seattle via I-90 using HOV lanes',
  'Distance': 10.6,
  'EndPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'Name': 'HOV Bellevue-Seattle via I-90 (WB PM)',
  'StartPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'S',
   'Latitude': 47.6138,
   'Longitude': -122.18892,
   'MilePost': 13.33,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 94},
 {'AverageTime': 12,
  'CurrentTime': 11,
  'Description': 'Downtown Seattle to Downtown Bellevue via I-90 using HOV lanes',
  'Distance': 10.6,
  'EndPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'N',
   'Latitude': 47.61361,
   'Longitude': -122.18797,
   'MilePost': 13.6,
   'RoadName': 'I-405'},
  'Name': 'HOV Seattle-Bellevue via I-90 (EB AM)',
  'StartPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'S',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 95},
 {'AverageTime': 12,
  'CurrentTime': 11,
  'Description': 'Downtown Seattle to Downtown Bellevue via I-90',
  'Distance': 10.6,
  'EndPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'N',
   'Latitude': 47.61361,
   'Longitude': -122.18797,
   'MilePost': 13.6,
   'RoadName': 'I-405'},
  'Name': 'Seattle-Bellevue via I-90 (EB AM)',
  'StartPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'S',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 96},
 {'AverageTime': 7,
  'CurrentTime': 7,
  'Description': 'Downtown Bellevue to Redmond',
  'Distance': 6.62,
  'EndPoint': {'Description': 'SR 520 @ Redmond Way in Redmond',
   'Direction': 'E',
   'Latitude': 47.668087,
   'Longitude': -122.110145,
   'MilePost': 12.66,
   'RoadName': 'SR 520'},
  'Name': 'Bellevue-Redmond (EB PM)',
  'StartPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'N',
   'Latitude': 47.61361,
   'Longitude': -122.18797,
   'MilePost': 13.6,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 99},
 {'AverageTime': 7,
  'CurrentTime': 7,
  'Description': 'Downtown Bellevue to Redmond using HOV lanes',
  'Distance': 6.62,
  'EndPoint': {'Description': 'SR 520 @ Redmond Way in Redmond',
   'Direction': 'E',
   'Latitude': 47.668087,
   'Longitude': -122.110145,
   'MilePost': 12.66,
   'RoadName': 'SR 520'},
  'Name': 'HOV Bellevue-Redmond (EB PM)',
  'StartPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'N',
   'Latitude': 47.61361,
   'Longitude': -122.18797,
   'MilePost': 13.6,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 100},
 {'AverageTime': 9,
  'CurrentTime': 8,
  'Description': 'Redmond to Downtown Bellevue using HOV lanes',
  'Distance': 7.61,
  'EndPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'S',
   'Latitude': 47.6138,
   'Longitude': -122.18892,
   'MilePost': 13.33,
   'RoadName': 'I-405'},
  'Name': 'HOV Redmond-Bellevue (WB PM)',
  'StartPoint': {'Description': 'SR 520 @ Redmond Way in Redmond',
   'Direction': 'W',
   'Latitude': 47.668087,
   'Longitude': -122.110145,
   'MilePost': 12.65,
   'RoadName': 'SR 520'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 101},
 {'AverageTime': 9,
  'CurrentTime': 8,
  'Description': 'Redmond to Downtown Bellevue',
  'Distance': 7.61,
  'EndPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'S',
   'Latitude': 47.6138,
   'Longitude': -122.18892,
   'MilePost': 13.33,
   'RoadName': 'I-405'},
  'Name': 'Redmond-Bellevue (WB PM)',
  'StartPoint': {'Description': 'SR 520 @ Redmond Way in Redmond',
   'Direction': 'W',
   'Latitude': 47.668087,
   'Longitude': -122.110145,
   'MilePost': 12.65,
   'RoadName': 'SR 520'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 102},
 {'AverageTime': 78,
  'CurrentTime': 73,
  'Description': 'North Bend to Ellensburg Eastbound',
  'Distance': 74.9,
  'EndPoint': {'Description': 'I-90 @ Ellensburg Exit 109',
   'Direction': 'E',
   'Latitude': 47.011288,
   'Longitude': -120.59914,
   'MilePost': 109.45,
   'RoadName': 'I-90'},
  'Name': 'Snoqualmie Pass EB',
  'StartPoint': {'Description': 'I-90 @ 436th Ave / Exit 34',
   'Direction': 'E',
   'Latitude': 47.473234,
   'Longitude': -121.751422,
   'MilePost': 35.02,
   'RoadName': 'I-90'},
  'TimeUpdated': '/Date(1502667180000-0700)/',
  'TravelTimeID': 114},
 {'AverageTime': 78,
  'CurrentTime': 135,
  'Description': 'Ellensburg to North Bend Westbound',
  'Distance': 78.56,
  'EndPoint': {'Description': 'I-90 @ North Bend Exit 31',
   'Direction': 'W',
   'Latitude': 47.484935,
   'Longitude': -121.792834,
   'MilePost': 30.9,
   'RoadName': 'I-90'},
  'Name': 'Snoqualmie Pass WB',
  'StartPoint': {'Description': 'I-90 @ Ellensburg Exit 109',
   'Direction': 'W',
   'Latitude': 46.97387,
   'Longitude': -120.540695,
   'MilePost': 109.0,
   'RoadName': 'I-90'},
  'TimeUpdated': '/Date(1502667180000-0700)/',
  'TravelTimeID': 115},
 {'AverageTime': 7,
  'CurrentTime': 7,
  'Description': 'Marvin Rd./SR510 in Lacey To 14th Ave. in Olympia',
  'Distance': 6.62,
  'EndPoint': {'Description': 'I-5 @ 14th Ave in Olympia',
   'Direction': 'S',
   'Latitude': 47.032492,
   'Longitude': -122.891484,
   'MilePost': 105.38,
   'RoadName': 'I-5'},
  'Name': 'SB I-5, Lacey (SR510) to Olympia',
  'StartPoint': {'Description': 'I-5 @ Marvin Rd I/C in Lacey',
   'Direction': 'S',
   'Latitude': 47.063148,
   'Longitude': -122.762735,
   'MilePost': 112.0,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 116},
 {'AverageTime': 7,
  'CurrentTime': 9,
  'Description': 'JBLM Main Gate to Lakewood at SR512',
  'Distance': 6.31,
  'EndPoint': {'Description': 'I-5 @ SR512 in Lakewood',
   'Direction': 'N',
   'Latitude': 47.162742,
   'Longitude': -122.480759,
   'MilePost': 127.35,
   'RoadName': 'I-5'},
  'Name': 'NB I-5, JBLM Main Gate to Lakewood (SR512)',
  'StartPoint': {'Description': 'I-5 @ JBLM Main Gate NB',
   'Direction': 'N',
   'Latitude': 47.10409,
   'Longitude': -122.588362,
   'MilePost': 121.04,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 120},
 {'AverageTime': 6,
  'CurrentTime': 6,
  'Description': 'SR512 in Lakewood To JBLM Main Gate',
  'Distance': 6.31,
  'EndPoint': {'Description': 'I-5 @ JLBM Main Gate',
   'Direction': 'S',
   'Latitude': 47.10409,
   'Longitude': -122.588362,
   'MilePost': 121.04,
   'RoadName': 'I-5'},
  'Name': 'SB I-5, Lakewood (SR512) to JBLM Main Gate',
  'StartPoint': {'Description': 'I-5 @ SR512 in Lakewood SB',
   'Direction': 'S',
   'Latitude': 47.162742,
   'Longitude': -122.480759,
   'MilePost': 127.35,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 121},
 {'AverageTime': 13,
  'CurrentTime': 12,
  'Description': 'SR512 in Lakewood To Tacoma Dome in Tacoma',
  'Distance': 7.38,
  'EndPoint': {'Description': 'I-5 @ Tacoma Dome in Tacoma',
   'Direction': 'N',
   'Latitude': 47.234492,
   'Longitude': -122.427958,
   'MilePost': 134.09,
   'RoadName': 'I-5'},
  'Name': 'NB I-5,Lakewood at SR512 To Tacoma',
  'StartPoint': {'Description': 'I-5 @ SR512 in Lakewood NB',
   'Direction': 'N',
   'Latitude': 47.162742,
   'Longitude': -122.480759,
   'MilePost': 127.35,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 122},
 {'AverageTime': 7,
  'CurrentTime': 8,
  'Description': 'Tacoma Dome in Tacoma To SR512 in Lakewood',
  'Distance': 6.74,
  'EndPoint': {'Description': 'I-5 @ SR512 in Lakewood',
   'Direction': 'S',
   'Latitude': 47.162742,
   'Longitude': -122.480759,
   'MilePost': 127.35,
   'RoadName': 'I-5'},
  'Name': 'SB I-5,Tacoma To Lakewood at SR512',
  'StartPoint': {'Description': 'I-5 @ M St. in Tacoma SB',
   'Direction': 'S',
   'Latitude': 47.22995,
   'Longitude': -122.44204,
   'MilePost': 134.09,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 123},
 {'AverageTime': 7,
  'CurrentTime': 6,
  'Description': 'M St. in Tacoma To NB I-5 @ Pierce King County Line',
  'Distance': 5.32,
  'EndPoint': {'Description': 'I-5 @ Pierce King County Line',
   'Direction': 'N',
   'Latitude': 47.255624,
   'Longitude': -122.33113,
   'MilePost': 139.41,
   'RoadName': 'I-5'},
  'Name': 'NB I-5,Tacoma To Pierce King County Line',
  'StartPoint': {'Description': 'I-5 @ Tacoma Dome in Tacoma',
   'Direction': 'N',
   'Latitude': 47.234492,
   'Longitude': -122.427958,
   'MilePost': 134.09,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 125},
 {'AverageTime': 55,
  'CurrentTime': 75,
  'Description': '14th Ave in Olympia to Tacoma Dome in Tacoma',
  'Distance': 29.41,
  'EndPoint': {'Description': 'I-5 @ Tacoma Dome in Tacoma',
   'Direction': 'N',
   'Latitude': 47.234492,
   'Longitude': -122.427958,
   'MilePost': 134.09,
   'RoadName': 'I-5'},
  'Name': 'NB I-5, Olympia To Tacoma',
  'StartPoint': {'Description': 'I-5 @ 14th Ave in Olympia',
   'Direction': 'N',
   'Latitude': 47.064447,
   'Longitude': -122.759508,
   'MilePost': 105.38,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 126},
 {'AverageTime': 16,
  'CurrentTime': 16,
  'Description': 'Downtown Seattle to Lynnwood using express lanes and HOV lanes',
  'Distance': 15.73,
  'EndPoint': {'Description': 'I-5 @ 196th St SW in Lynnwood',
   'Direction': 'N',
   'Latitude': 47.819545,
   'Longitude': -122.279109,
   'MilePost': 181.56,
   'RoadName': 'I-5'},
  'Name': 'HOV Seattle-Lynnwood (NB REV)',
  'StartPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 128},
 {'AverageTime': 16,
  'CurrentTime': 16,
  'Description': 'Downtown Seattle to Lynnwood using express lanes',
  'Distance': 15.73,
  'EndPoint': {'Description': 'I-5 @ 196th St SW in Lynnwood',
   'Direction': 'N',
   'Latitude': 47.819545,
   'Longitude': -122.279109,
   'MilePost': 181.56,
   'RoadName': 'I-5'},
  'Name': 'Seattle-Lynnwood (NB REV)',
  'StartPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 129},
 {'AverageTime': 6,
  'CurrentTime': 6,
  'Description': 'Downtown Seattle to Northgate using express lanes',
  'Distance': 5.79,
  'EndPoint': {'Description': 'I-5 @ NE Northgate Way in Northgate',
   'Direction': 'N',
   'Latitude': 47.77418,
   'Longitude': -122.329912,
   'MilePost': 171.62,
   'RoadName': 'I-5'},
  'Name': 'Seattle-Shoreline (NB REV)',
  'StartPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 130},
 {'AverageTime': 28,
  'CurrentTime': 27,
  'Description': 'Downtown Seattle to Everett using express lanes and HOV lanes',
  'Distance': 26.94,
  'EndPoint': {'Description': 'I-5 @ 41st St in Everett',
   'Direction': 'N',
   'Latitude': 47.92428,
   'Longitude': -122.26548,
   'MilePost': 192.77,
   'RoadName': 'I-5'},
  'Name': 'HOV Seattle-Everett (NB REV)',
  'StartPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 131},
 {'AverageTime': 27,
  'CurrentTime': 27,
  'Description': 'Downtown Seattle to Everett using express lanes',
  'Distance': 26.94,
  'EndPoint': {'Description': 'I-5 @ 41st St in Everett',
   'Direction': 'N',
   'Latitude': 47.92428,
   'Longitude': -122.26548,
   'MilePost': 192.77,
   'RoadName': 'I-5'},
  'Name': 'Seattle-Everett (NB REV)',
  'StartPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 132},
 {'AverageTime': 30,
  'CurrentTime': 34,
  'Description': 'Everett to Downtown Seattle',
  'Distance': 26.72,
  'EndPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'S',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'Name': 'Everett-Seattle (SB AM)',
  'StartPoint': {'Description': 'I-5 @ 41st St in Everett',
   'Direction': 'S',
   'Latitude': 47.96441,
   'Longitude': -122.19919,
   'MilePost': 192.55,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 1},
 {'AverageTime': 19,
  'CurrentTime': 23,
  'Description': 'Lynnwood to Downtown Seattle using HOV lanes',
  'Distance': 15.23,
  'EndPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'S',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'Name': 'HOV Lynnwood-Seattle (SB AM)',
  'StartPoint': {'Description': 'I-5 @ 196th St SW in Lynnwood',
   'Direction': 'S',
   'Latitude': 47.817269,
   'Longitude': -122.285137,
   'MilePost': 181.06,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 275},
 {'AverageTime': 13,
  'CurrentTime': 17,
  'Description': 'Downtown Bellevue to Renton',
  'Distance': 11.12,
  'EndPoint': {'Description': 'I-405 @ SR 167 in Renton',
   'Direction': 'S',
   'Latitude': 47.467434,
   'Longitude': -122.219631,
   'MilePost': 2.21,
   'RoadName': 'I-405'},
  'Name': 'Bellevue-Renton (SB PM)',
  'StartPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'S',
   'Latitude': 47.6138,
   'Longitude': -122.18892,
   'MilePost': 13.33,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 45},
 {'AverageTime': 12,
  'CurrentTime': 13,
  'Description': 'Downtown Bellevue to Renton using HOV lanes',
  'Distance': 11.12,
  'EndPoint': {'Description': 'I-405 @ SR 167 in Renton',
   'Direction': 'S',
   'Latitude': 47.467434,
   'Longitude': -122.219631,
   'MilePost': 2.21,
   'RoadName': 'I-405'},
  'Name': 'HOV Bellevue-Renton (SB PM)',
  'StartPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'S',
   'Latitude': 47.6138,
   'Longitude': -122.18892,
   'MilePost': 13.33,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 46},
 {'AverageTime': 14,
  'CurrentTime': 13,
  'Description': 'Renton to Downtown Bellevue using HOV lanes',
  'Distance': 11.17,
  'EndPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'N',
   'Latitude': 47.61361,
   'Longitude': -122.18797,
   'MilePost': 13.6,
   'RoadName': 'I-405'},
  'Name': 'HOV Renton-Bellevue (NB AM)',
  'StartPoint': {'Description': 'I-405 @ SR 167 in Renton',
   'Direction': 'N',
   'Latitude': 47.467434,
   'Longitude': -122.219631,
   'MilePost': 2.43,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 278},
 {'AverageTime': 14,
  'CurrentTime': 12,
  'Description': 'Renton to Downtown Bellevue',
  'Distance': 11.17,
  'EndPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'N',
   'Latitude': 47.61361,
   'Longitude': -122.18797,
   'MilePost': 13.6,
   'RoadName': 'I-405'},
  'Name': 'Renton-Bellevue (NB AM)',
  'StartPoint': {'Description': 'I-405 @ SR 167 in Renton',
   'Direction': 'N',
   'Latitude': 47.467434,
   'Longitude': -122.219631,
   'MilePost': 2.43,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 279},
 {'AverageTime': 9,
  'CurrentTime': 9,
  'Description': 'Downtown Bellevue to SR 522 in Bothell',
  'Distance': 9.41,
  'EndPoint': {'Description': 'I-405 @ SR 522 in Bothell',
   'Direction': 'N',
   'Latitude': 47.751518,
   'Longitude': -122.187178,
   'MilePost': 23.01,
   'RoadName': 'I-405'},
  'Name': 'Bellevue-SR 522 (NB PM)',
  'StartPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'N',
   'Latitude': 47.61361,
   'Longitude': -122.18797,
   'MilePost': 13.6,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 55},
 {'AverageTime': 19,
  'CurrentTime': 29,
  'Description': 'SR 531 in Arlington to 41st St in Everett',
  'Distance': 13.32,
  'EndPoint': {'Description': 'I-5 @ 41st St in Everett',
   'Direction': 'S',
   'Latitude': 47.92428,
   'Longitude': -122.26548,
   'MilePost': 192.55,
   'RoadName': 'I-5'},
  'Name': 'Arlington-Everett (SB AM)',
  'StartPoint': {'Description': 'I-5 @ EB 172nd St in Arlington',
   'Direction': 'S',
   'Latitude': 48.152323,
   'Longitude': -122.188847,
   'MilePost': 205.87,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 266},
 {'AverageTime': 13,
  'CurrentTime': 14,
  'Description': '41st St in Everett to SR 531 in Arlington',
  'Distance': 13.1,
  'EndPoint': {'Description': 'I-5 @ EB 172nd St in Arlington',
   'Direction': 'N',
   'Latitude': 48.152323,
   'Longitude': -122.188847,
   'MilePost': 205.87,
   'RoadName': 'I-5'},
  'Name': 'Everett-Arlington (NB PM)',
  'StartPoint': {'Description': 'I-5 @ 41st St in Everett',
   'Direction': 'N',
   'Latitude': 47.92428,
   'Longitude': -122.26548,
   'MilePost': 192.77,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 267},
 {'AverageTime': 8,
  'CurrentTime': 8,
  'Description': '41st St in Everett to 88th St NE in Marysville',
  'Distance': 7.89,
  'EndPoint': {'Description': 'I-5 @ 88th St NE-SB in Marysville',
   'Direction': 'N',
   'Latitude': 48.075728,
   'Longitude': -122.184877,
   'MilePost': 200.66,
   'RoadName': 'I-5'},
  'Name': 'Everett-Marysville (NB PM)',
  'StartPoint': {'Description': 'I-5 @ 41st St in Everett',
   'Direction': 'N',
   'Latitude': 47.92428,
   'Longitude': -122.26548,
   'MilePost': 192.77,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 268},
 {'AverageTime': 12,
  'CurrentTime': 14,
  'Description': '88th St NE in Marysville to 41st St in Everett',
  'Distance': 8.11,
  'EndPoint': {'Description': 'I-5 @ 41st St in Everett',
   'Direction': 'S',
   'Latitude': 47.92428,
   'Longitude': -122.26548,
   'MilePost': 192.55,
   'RoadName': 'I-5'},
  'Name': 'Marysville-Everett (SB AM)',
  'StartPoint': {'Description': 'I-5 @ 88th St NE-SB in Marysville',
   'Direction': 'S',
   'Latitude': 48.075728,
   'Longitude': -122.184877,
   'MilePost': 200.66,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 269},
 {'AverageTime': 25,
  'CurrentTime': 26,
  'Description': 'Downtown Seattle to Woodinville using express lanes and SR 522',
  'Distance': 15.37,
  'EndPoint': {'Description': 'SR 522 @ SR 202 in Woodinville',
   'Direction': 'E',
   'Latitude': 47.75818,
   'Longitude': -122.16402,
   'MilePost': 10.57,
   'RoadName': '522'},
  'Name': 'Seattle-Woodinville via SR 522 (EB REV)',
  'StartPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 285},
 {'AverageTime': 25,
  'CurrentTime': 28,
  'Description': 'Downtown Seattle to Woodinville',
  'Distance': 15.37,
  'EndPoint': {'Description': 'SR 522 @ SR 202 in Woodinville',
   'Direction': 'E',
   'Latitude': 47.75818,
   'Longitude': -122.16402,
   'MilePost': 10.57,
   'RoadName': '522'},
  'Name': 'Seattle-Woodinville via SR 522 Short (EB PM)-v2',
  'StartPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 286},
 {'AverageTime': 32,
  'CurrentTime': 33,
  'Description': 'Woodinville to Downtown Seattle',
  'Distance': 15.54,
  'EndPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'S',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'Name': 'Woodinville-Seattle via SR 522 Short (WB AM)-v2',
  'StartPoint': {'Description': 'SR 522 @ SR 202 in Woodinville',
   'Direction': 'W',
   'Latitude': 47.75818,
   'Longitude': -122.16402,
   'MilePost': 10.55,
   'RoadName': '522'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 287},
 {'AverageTime': 0,
  'CurrentTime': 0,
  'Description': 'Woodinville to Downtown Seattle using I-5 express lanes',
  'Distance': 0.0,
  'EndPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'Name': 'Woodinville-Seattle via SR 522 (SB REV)',
  'StartPoint': {'Description': 'SR 522 @ SR 202 in Woodinville',
   'Direction': 'W',
   'Latitude': 47.75818,
   'Longitude': -122.16402,
   'MilePost': 10.55,
   'RoadName': '522'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 288},
 {'AverageTime': 16,
  'CurrentTime': 15,
  'Description': 'Tukwila to Downtown Bellevue',
  'Distance': 13.49,
  'EndPoint': {'Description': 'I-405 @ NE 8th St in Bellevue',
   'Direction': 'N',
   'Latitude': 47.61361,
   'Longitude': -122.18797,
   'MilePost': 13.6,
   'RoadName': 'I-405'},
  'Name': 'Tukwila-Bellevue (NB AM)',
  'StartPoint': {'Description': 'I-405 @ I-5 in Tukwila',
   'Direction': 'N',
   'Latitude': 47.463303,
   'Longitude': -122.262701,
   'MilePost': 0.11,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 291},
 {'AverageTime': 4,
  'CurrentTime': 4,
  'Description': 'So. 320th St. in Federal Way to King County Line',
  'Distance': 3.95,
  'EndPoint': {'Description': 'I-5 @ King County Line MP 139.38',
   'Direction': 'S',
   'Latitude': 47.334789,
   'Longitude': -122.293778,
   'MilePost': 139.69,
   'RoadName': 'I-5'},
  'Name': 'Federal Way to King County Line',
  'StartPoint': {'Description': 'I-5 @ So. 320th Street in Federal Way',
   'Direction': 'S',
   'Latitude': 47.31384,
   'Longitude': -122.298609,
   'MilePost': 143.64,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 292},
 {'AverageTime': 6,
  'CurrentTime': 7,
  'Description': 'Region boundary to Federal Way',
  'Distance': 4.29,
  'EndPoint': {'Description': 'I-5 @ So. 320th St in Federal Way',
   'Direction': 'N',
   'Latitude': 47.315446,
   'Longitude': -122.296702,
   'MilePost': 143.98,
   'RoadName': 'I-5'},
  'Name': 'King County Line to Federal Way',
  'StartPoint': {'Description': 'I-5 @ King County Line MP 139.38',
   'Direction': 'N',
   'Latitude': 47.334789,
   'Longitude': -122.293778,
   'MilePost': 139.69,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 293},
 {'AverageTime': 22,
  'CurrentTime': 21,
  'Description': 'Downtown Seattle to Woodinville',
  'Distance': 20.53,
  'EndPoint': {'Description': 'SR 522 @ SR 202 in Woodinville',
   'Direction': 'N',
   'Latitude': 47.75818,
   'Longitude': -122.16402,
   'MilePost': 23.01,
   'RoadName': 'I-405'},
  'Name': 'Seattle-Woodinville via I-90 (EB PM)',
  'StartPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'S',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 294},
 {'AverageTime': 19,
  'CurrentTime': 20,
  'Description': 'Downtown Seattle to Woodinville',
  'Distance': 17.85,
  'EndPoint': {'Description': 'SR 522 @ SR 202 in Woodinville',
   'Direction': 'N',
   'Latitude': 47.75818,
   'Longitude': -122.16402,
   'MilePost': 23.01,
   'RoadName': 'I-405'},
  'Name': 'Seattle-Woodinville via SR 520 (EB PM)',
  'StartPoint': {'Description': 'I-5 @ University St in Seattle',
   'Direction': 'N',
   'Latitude': 47.609294,
   'Longitude': -122.331759,
   'MilePost': 165.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 295},
 {'AverageTime': 14,
  'CurrentTime': 13,
  'Description': 'Tacoma Dome in Tacoma To NB I-5 @ So. 320th St in Federal Way',
  'Distance': 9.89,
  'EndPoint': {'Description': 'I-5 @ So. 320th St in Federal Way',
   'Direction': 'N',
   'Latitude': 47.315446,
   'Longitude': -122.296702,
   'MilePost': 143.98,
   'RoadName': '005'},
  'Name': 'NB I-5,Tacoma To Federal Way',
  'StartPoint': {'Description': 'I-5 @ Tacoma Dome in Tacoma',
   'Direction': 'N',
   'Latitude': 47.234492,
   'Longitude': -122.427958,
   'MilePost': 134.09,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 303},
 {'AverageTime': 17,
  'CurrentTime': 30,
  'Description': 'Olympia to Marvin Rd SR510 in Lacey',
  'Distance': 6.62,
  'EndPoint': {'Description': 'I-5 @ Marvin Rd I/C in Lacey',
   'Direction': 'N',
   'Latitude': 47.063333,
   'Longitude': -122.765327,
   'MilePost': 112.0,
   'RoadName': 'I-5'},
  'Name': 'NB I-5 Olympia to Lacey (SR510)',
  'StartPoint': {'Description': 'I-5 @ 14th Ave in Olympia',
   'Direction': 'N',
   'Latitude': 47.032492,
   'Longitude': -122.891484,
   'MilePost': 105.38,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 310},
 {'AverageTime': 9,
  'CurrentTime': 9,
  'Description': 'JBLM Main Gate to Marvin Rd SR510 in Lacey',
  'Distance': 9.1,
  'EndPoint': {'Description': 'I-5 @ Marvin Rd SR510 in Lacey',
   'Direction': 'S',
   'Latitude': 47.063333,
   'Longitude': -122.765327,
   'MilePost': 112.0,
   'RoadName': 'I-5'},
  'Name': 'SB I-5 JBLM Main Gate to Lacey (SR510) SB',
  'StartPoint': {'Description': 'I-5 @ JBLM Main Gate',
   'Direction': 'S',
   'Latitude': 47.10409,
   'Longitude': -122.588362,
   'MilePost': 121.04,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 311},
 {'AverageTime': 19,
  'CurrentTime': 25,
  'Description': 'Marvin Rd/SR510 in Lacey To JBLM Main Gate',
  'Distance': 9.1,
  'EndPoint': {'Description': 'I-5 @ JBLM Main Gate',
   'Direction': 'N',
   'Latitude': 47.10409,
   'Longitude': -122.588362,
   'MilePost': 121.04,
   'RoadName': 'I-5'},
  'Name': 'NB I-5 Lacey (SR510) to JBLM Main Gate',
  'StartPoint': {'Description': 'I-5 @ Marvin Rd IC in Lacey',
   'Direction': 'N',
   'Latitude': 47.063333,
   'Longitude': -122.765327,
   'MilePost': 112.0,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 312},
 {'AverageTime': 29,
  'CurrentTime': 30,
  'Description': 'Tacoma Dome in Tacoma To 14th Ave in Olympia',
  'Distance': 28.77,
  'EndPoint': {'Description': 'I-5 @ 14th Ave in Olympia',
   'Direction': 'S',
   'Latitude': 47.064447,
   'Longitude': -122.759508,
   'MilePost': 105.38,
   'RoadName': 'I-5'},
  'Name': 'SB I-5 Tacoma To Olympia',
  'StartPoint': {'Description': 'I-5 @ Tacoma Dome in Tacoma',
   'Direction': 'S',
   'Latitude': 47.234492,
   'Longitude': -122.427958,
   'MilePost': 134.09,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 313},
 {'AverageTime': 7,
  'CurrentTime': 6,
  'Description': 'Pierce King County Line to Tacoma Dome',
  'Distance': 5.32,
  'EndPoint': {'Description': 'I-5 @ Tacoma Dome in Tacoma',
   'Direction': 'S',
   'Latitude': 47.234492,
   'Longitude': -122.427958,
   'MilePost': 134.09,
   'RoadName': 'I-5'},
  'Name': 'SB I-5 Pierce King County Line To Tacoma',
  'StartPoint': {'Description': 'I-5 @ Pierce King County Line',
   'Direction': 'S',
   'Latitude': 47.255624,
   'Longitude': -122.33113,
   'MilePost': 139.41,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 314},
 {'AverageTime': 25,
  'CurrentTime': 51,
  'Description': 'Region boundary to Tukwila',
  'Distance': 15.11,
  'EndPoint': {'Description': 'I-5 @ I-405 in Tukwila',
   'Direction': 'N',
   'Latitude': 47.463303,
   'Longitude': -122.262701,
   'MilePost': 154.8,
   'RoadName': 'I-5'},
  'Name': 'King County Line to Tukwila',
  'StartPoint': {'Description': 'I-5 @ King County Line MP 139.38',
   'Direction': 'N',
   'Latitude': 47.334789,
   'Longitude': -122.293778,
   'MilePost': 139.69,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 316},
 {'AverageTime': 25,
  'CurrentTime': 30,
  'Description': 'N/O Marvin Rd SR510 in Lacey To SR 512 in Lakewood',
  'Distance': 14.8,
  'EndPoint': {'Description': 'I-5 @ SR 512 in Lakewood',
   'Direction': 'N',
   'Latitude': 47.163299,
   'Longitude': -122.479422,
   'MilePost': 127.35,
   'RoadName': 'I-5'},
  'Name': 'NB I-5 SR510 to SR 512',
  'StartPoint': {'Description': '',
   'Direction': 'N',
   'Latitude': 0.0,
   'Longitude': 0.0,
   'MilePost': 112.61,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 318},
 {'AverageTime': 7,
  'CurrentTime': 7,
  'Description': 'Mounts Rd in DuPont To Martin Way E in Lacey',
  'Distance': 6.99,
  'EndPoint': {'Description': 'I-5 @ Martin Way E in Lacey',
   'Direction': 'S',
   'Latitude': 47.047436,
   'Longitude': -122.821408,
   'MilePost': 109.18,
   'RoadName': 'I-5'},
  'Name': 'SB I-5 DuPont To Lacey',
  'StartPoint': {'Description': '',
   'Direction': 'S',
   'Latitude': 0.0,
   'Longitude': 0.0,
   'MilePost': 116.17,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 321},
 {'AverageTime': 18,
  'CurrentTime': 18,
  'Description': '112th St in Lakewood To Martin Way in Lacey',
  'Distance': 17.52,
  'EndPoint': {'Description': 'I-5 @ Martin Way in Lacey',
   'Direction': 'S',
   'Latitude': 47.048034,
   'Longitude': -122.820155,
   'MilePost': 109.18,
   'RoadName': 'I-5'},
  'Name': 'SB I-5 Lakewood To Lacey',
  'StartPoint': {'Description': '',
   'Direction': 'S',
   'Latitude': 0.0,
   'Longitude': 0.0,
   'MilePost': 126.64,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 324},
 {'AverageTime': 4,
  'CurrentTime': 4,
  'Description': 'Region boundary to Federal Way via HOV lanes',
  'Distance': 4.29,
  'EndPoint': {'Description': 'I-5 @ S 320th St in Federal Way',
   'Direction': 'N',
   'Latitude': 47.315446,
   'Longitude': -122.296702,
   'MilePost': 143.98,
   'RoadName': 'I-5'},
  'Name': 'King County Line to Federal Way HOV',
  'StartPoint': {'Description': 'I-5 @ King County Line MP 139.38',
   'Direction': 'N',
   'Latitude': 47.334789,
   'Longitude': -122.293778,
   'MilePost': 139.69,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 326},
 {'AverageTime': 17,
  'CurrentTime': 22,
  'Description': 'Region boundary to Tukwila via HOV lanes',
  'Distance': 15.11,
  'EndPoint': {'Description': 'I-5 @ I-405 in Tukwila',
   'Direction': 'N',
   'Latitude': 47.463303,
   'Longitude': -122.262701,
   'MilePost': 154.8,
   'RoadName': 'I-5'},
  'Name': 'King County Line to Tukwila HOV',
  'StartPoint': {'Description': 'I-5 @ King County Line MP 139.38',
   'Direction': 'N',
   'Latitude': 47.334789,
   'Longitude': -122.293778,
   'MilePost': 139.69,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 327},
 {'AverageTime': 33,
  'CurrentTime': 38,
  'Description': 'I-5 SB and 199th to I-5 and I-205JCT',
  'Distance': 32.69,
  'EndPoint': {'Description': 'I-5 - I-205JCT in Portland',
   'Direction': 'S',
   'Latitude': 45.35355,
   'Longitude': -122.76467,
   'MilePost': 287.46,
   'RoadName': 'I-5'},
  'Name': 'I-5 SB Corridor',
  'StartPoint': {'Description': 'I-5 SB and 199th in Vancouver',
   'Direction': 'S',
   'Latitude': 45.7691082,
   'Longitude': -122.668256,
   'MilePost': 11.75,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 333},
 {'AverageTime': 10,
  'CurrentTime': 14,
  'Description': '159th St. to Delta Park',
  'Distance': 9.88,
  'EndPoint': {'Description': 'I-5 Delta Park in Portland',
   'Direction': 'S',
   'Latitude': 45.60328,
   'Longitude': -122.68352,
   'MilePost': 307.35,
   'RoadName': 'I-5'},
  'Name': 'I-5 SB and 159th to Delta Park',
  'StartPoint': {'Description': 'I-5 SB and 159th St in Vancouver',
   'Direction': 'S',
   'Latitude': 45.740536,
   'Longitude': -122.659721,
   'MilePost': 8.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 334},
 {'AverageTime': 14,
  'CurrentTime': 19,
  'Description': '159th St. to I-84',
  'Distance': 15.06,
  'EndPoint': {'Description': 'I-5 and I-84JCT in Portland',
   'Direction': 'S',
   'Latitude': 45.54485,
   'Longitude': -122.67707,
   'MilePost': 302.17,
   'RoadName': 'I-5'},
  'Name': 'I-5 SB and 159th to I-84JCT',
  'StartPoint': {'Description': 'I-5 and 159th St in Vancouver',
   'Direction': 'S',
   'Latitude': 45.740536,
   'Longitude': -122.659721,
   'MilePost': 8.83,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 335},
 {'AverageTime': 14,
  'CurrentTime': 20,
  'Description': 'I-5/SR-500 Jct. to I-205/I-84 Jct. via I-5 and I-84',
  'Distance': 14.36,
  'EndPoint': {'Description': 'I-84 to I-205 JCT in Portland',
   'Direction': 'E',
   'Latitude': 45.53367,
   'Longitude': -122.56231,
   'MilePost': 5.82,
   'RoadName': 'I-84'},
  'Name': 'I-5 SB and SR500 to I-84 to I-205 JCT',
  'StartPoint': {'Description': 'I-5 and SR500 in Vancouver',
   'Direction': 'S',
   'Latitude': 45.642222,
   'Longitude': -122.661944,
   'MilePost': 1.41,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 338},
 {'AverageTime': 12,
  'CurrentTime': 12,
  'Description': 'I-5/SR-500 Jct. to I-205/I-84 Jct. via SR-14 and I-205',
  'Distance': 11.3,
  'EndPoint': {'Description': 'I-205 to I-84 JCT in Portland',
   'Direction': 'S',
   'Latitude': 45.55579,
   'Longitude': -122.56758,
   'MilePost': 23.27,
   'RoadName': 'I-205'},
  'Name': 'I-5 SB and SR500 to SR14 to I-205 to I-84 JCT',
  'StartPoint': {'Description': 'I-5 SB and SR500 in Vancouver',
   'Direction': 'S',
   'Latitude': 45.646387,
   'Longitude': -122.662332,
   'MilePost': 1.41,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 339},
 {'AverageTime': 19,
  'CurrentTime': 20,
  'Description': '192nd Ave to I-5/I-84 Jct. via I-205 and I-84',
  'Distance': 16.02,
  'EndPoint': {'Description': 'I-205 and I-84 JCT in Portland',
   'Direction': 'W',
   'Latitude': 45.55579,
   'Longitude': -122.56758,
   'MilePost': 0.45,
   'RoadName': 'I-84'},
  'Name': 'SR14 and 171st Ave to I-205 and I-84 JCT',
  'StartPoint': {'Description': 'SR14 and 171st Ave in Vancouver',
   'Direction': 'W',
   'Latitude': 45.587222,
   'Longitude': -122.484722,
   'MilePost': 9.52,
   'RoadName': 'SR 14'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 340},
 {'AverageTime': 17,
  'CurrentTime': 22,
  'Description': '192nd Ave to I-5/I-84 Jct. via SR-14 and I-5',
  'Distance': 16.7,
  'EndPoint': {'Description': 'I-5 and I-84 JCT in Portland',
   'Direction': 'S',
   'Latitude': 45.54485,
   'Longitude': -122.67707,
   'MilePost': 302.17,
   'RoadName': 'I-5'},
  'Name': 'SR14 and 171st Ave to I-5 and I-84 JCT',
  'StartPoint': {'Description': 'SR14 and 171st Ave in Vancouver',
   'Direction': 'W',
   'Latitude': 45.587223,
   'Longitude': -122.484723,
   'MilePost': 9.52,
   'RoadName': 'SR 14'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 341},
 {'AverageTime': 38,
  'CurrentTime': 40,
  'Description': 'SR-502 to I-5/I-205 Jct. (Oregon) via I-205',
  'Distance': 39.11,
  'EndPoint': {'Description': 'I-5 SB Corridor via I-205 SB to Wilsonville',
   'Direction': 'S',
   'Latitude': 45.624696,
   'Longitude': -122.670881,
   'MilePost': 1.96,
   'RoadName': 'I-205'},
  'Name': 'I-5 SB Corridor via I-205 SB',
  'StartPoint': {'Description': 'I-5 SB Corridor via I-205 SB',
   'Direction': 'S',
   'Latitude': 45.753766,
   'Longitude': -122.663865,
   'MilePost': 11.75,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 342},
 {'AverageTime': 13,
  'CurrentTime': 13,
  'Description': '179th St. to Airport Way via I-205',
  'Distance': 12.79,
  'EndPoint': {'Description': 'I-205 and Airport Way in Portland',
   'Direction': 'S',
   'Latitude': 45.57188,
   'Longitude': -122.55094,
   'MilePost': 24.77,
   'RoadName': 'I-205'},
  'Name': 'I-5 SB Corridor via I-205 SB to Airportway',
  'StartPoint': {'Description': 'I-5 and 179th St in Vancouver',
   'Direction': 'S',
   'Latitude': 45.732778,
   'Longitude': -122.656944,
   'MilePost': 8.24,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 343},
 {'AverageTime': 5,
  'CurrentTime': 5,
  'Description': 'Mill Plain to I-84',
  'Distance': 5.13,
  'EndPoint': {'Description': 'I-205 and I-84 JCT in Portland',
   'Direction': 'S',
   'Latitude': 45.55579,
   'Longitude': -122.56758,
   'MilePost': 23.27,
   'RoadName': 'I-205'},
  'Name': 'I-205 SB and Mill Plain to I-205 and I-84 JCT',
  'StartPoint': {'Description': 'I-205 and Mill Plain in Vancouver',
   'Direction': 'S',
   'Latitude': 45.61651,
   'Longitude': -122.55675,
   'MilePost': 28.36,
   'RoadName': 'I-205'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 344},
 {'AverageTime': 18,
  'CurrentTime': 19,
  'Description': 'Mill Plain to Oregon City',
  'Distance': 18.16,
  'EndPoint': {'Description': 'Oregon City in Portland',
   'Direction': 'S',
   'Latitude': 45.37451,
   'Longitude': -122.58894,
   'MilePost': 10.24,
   'RoadName': 'I-205'},
  'Name': 'I-205 SB and Mill Plain to I-5 JCT',
  'StartPoint': {'Description': 'I-205 SB and Mill Plain in Vancouver',
   'Direction': 'S',
   'Latitude': 45.61651,
   'Longitude': -122.55675,
   'MilePost': 28.36,
   'RoadName': 'I-205'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 345},
 {'AverageTime': 8,
  'CurrentTime': 8,
  'Description': 'Cascade Park to Vancouver',
  'Distance': 7.94,
  'EndPoint': {'Description': 'SR14 and I-5 JCT in Vancouver',
   'Direction': 'W',
   'Latitude': 45.623361,
   'Longitude': -122.671437,
   'MilePost': 0.58,
   'RoadName': 'SR 14'},
  'Name': 'Cascade Park to Vancouver',
  'StartPoint': {'Description': 'SR14 and Cascade Park in Vancouver',
   'Direction': 'W',
   'Latitude': 45.5917415,
   'Longitude': -122.50423,
   'MilePost': 8.52,
   'RoadName': 'SR 14'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 347},
 {'AverageTime': 13,
  'CurrentTime': 13,
  'Description': 'Hazel Dell to Fremont Bridge',
  'Distance': 9.18,
  'EndPoint': {'Description': 'I-5 and I-405 JCT in Portland',
   'Direction': 'S',
   'Latitude': 45.54731,
   'Longitude': -122.67889,
   'MilePost': 303.47,
   'RoadName': 'I-5'},
  'Name': 'Hazel Dell to Fremont Bridge',
  'StartPoint': {'Description': 'I-5 and 78th St in Vancouver',
   'Direction': 'S',
   'Latitude': 45.676544,
   'Longitude': -122.664559,
   'MilePost': 4.25,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 348},
 {'AverageTime': 18,
  'CurrentTime': 18,
  'Description': 'Hazel Dell to I-405-US26',
  'Distance': 13.29,
  'EndPoint': {'Description': 'US26 in Portland',
   'Direction': 'S',
   'Latitude': 45.51688,
   'Longitude': -122.688,
   'MilePost': 1.77,
   'RoadName': 'I-405'},
  'Name': 'Hazel Dell to I-405-US26',
  'StartPoint': {'Description': 'I-5 SB and 78th St in Vancouver',
   'Direction': 'S',
   'Latitude': 45.676544,
   'Longitude': -122.664559,
   'MilePost': 4.25,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 349},
 {'AverageTime': 19,
  'CurrentTime': 20,
  'Description': 'Mill Plain to Oregon City',
  'Distance': 19.11,
  'EndPoint': {'Description': 'Oregon City in Portland',
   'Direction': 'S',
   'Latitude': 45.36662,
   'Longitude': -122.60033,
   'MilePost': 9.29,
   'RoadName': 'I-205'},
  'Name': 'Mill Plain to Oregon City',
  'StartPoint': {'Description': 'I-205 SB and Mill Plain in Vancouver',
   'Direction': 'S',
   'Latitude': 45.621409,
   'Longitude': -122.559835,
   'MilePost': 28.36,
   'RoadName': 'I-205'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 350},
 {'AverageTime': 7,
  'CurrentTime': 7,
  'Description': 'Mill Plain Vancouver to I-84',
  'Distance': 6.72,
  'EndPoint': {'Description': 'I-205 and I-84 JCT in Portland',
   'Direction': 'S',
   'Latitude': 45.53488,
   'Longitude': -122.56457,
   'MilePost': 21.68,
   'RoadName': 'I-205'},
  'Name': 'Mill Plain Vancouver to I-84',
  'StartPoint': {'Description': 'I-205 and Mill Plain in Vancouver',
   'Direction': 'S',
   'Latitude': 45.621409,
   'Longitude': -122.559835,
   'MilePost': 28.36,
   'RoadName': 'I-205'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 351},
 {'AverageTime': 7,
  'CurrentTime': 7,
  'Description': 'Vancouver to Cascade Park',
  'Distance': 7.14,
  'EndPoint': {'Description': 'SR14 and Cascade Park in Vancouver',
   'Direction': 'E',
   'Latitude': 45.59597,
   'Longitude': -122.519657,
   'MilePost': 7.72,
   'RoadName': 'SR 14'},
  'Name': 'Vancouver to Cascade Park',
  'StartPoint': {'Description': 'SR14 and I-5 JCT in Vancouver',
   'Direction': 'E',
   'Latitude': 45.61944,
   'Longitude': -122.661586,
   'MilePost': 0.58,
   'RoadName': 'SR 14'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 354},
 {'AverageTime': 20,
  'CurrentTime': 21,
  'Description': 'Oregon City to Mill Plain',
  'Distance': 19.67,
  'EndPoint': {'Description': 'I-205 and Mill Plain in Vancouver',
   'Direction': 'N',
   'Latitude': 45.621409,
   'Longitude': -122.559835,
   'MilePost': 28.36,
   'RoadName': 'I-205'},
  'Name': 'Oregon City to Mill Plain via 205',
  'StartPoint': {'Description': 'Oregon City in Portland',
   'Direction': 'N',
   'Latitude': 45.362,
   'Longitude': -122.609,
   'MilePost': 9.03,
   'RoadName': 'I-205'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 355},
 {'AverageTime': 35,
  'CurrentTime': 36,
  'Description': 'Salmon Creek WA to Tualatin OR',
  'Distance': 34.75,
  'EndPoint': {'Description': 'I-5 SB at Tualatin',
   'Direction': 'S',
   'Latitude': 45.37297,
   'Longitude': -122.72952,
   'MilePost': 1.96,
   'RoadName': 'I-205'},
  'Name': 'Salmon Creek WA to Tualatin OR I-205',
  'StartPoint': {'Description': '134th and 205 via I-205 SB',
   'Direction': 'S',
   'Latitude': 45.707495,
   'Longitude': -122.631733,
   'MilePost': 36.67,
   'RoadName': 'I-205'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 358},
 {'AverageTime': 33,
  'CurrentTime': 33,
  'Description': 'Salmon Creek WA to Tualatin OR',
  'Distance': 28.24,
  'EndPoint': {'Description': 'I-5 - I-205JCT in Portland',
   'Direction': 'S',
   'Latitude': 45.35355,
   'Longitude': -122.76467,
   'MilePost': 287.46,
   'RoadName': 'I-5'},
  'Name': 'Salmon Creek WA to Tualatin OR I-5',
  'StartPoint': {'Description': 'I-5 SB and 134 St in Vancouver',
   'Direction': 'S',
   'Latitude': 45.716985,
   'Longitude': -122.654515,
   'MilePost': 7.3,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 359},
 {'AverageTime': 28,
  'CurrentTime': 28,
  'Description': 'Camas to Rose Quarter',
  'Distance': 21.83,
  'EndPoint': {'Description': 'Rose Quarter Exit I-5 in Portland',
   'Direction': 'S',
   'Latitude': 45.53295,
   'Longitude': -122.66641,
   'MilePost': 302.17,
   'RoadName': 'I-5'},
  'Name': 'Camas to Rose Quarter via 1-5',
  'StartPoint': {'Description': 'SR14 and Union St in Camas',
   'Direction': 'W',
   'Latitude': 45.5803,
   'Longitude': -122.385324,
   'MilePost': 14.65,
   'RoadName': 'SR 14'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 360},
 {'AverageTime': 24,
  'CurrentTime': 25,
  'Description': 'Camas to Rose Quarter',
  'Distance': 21.15,
  'EndPoint': {'Description': 'I-5 and I-84 JCT in Portland',
   'Direction': 'W',
   'Latitude': 45.5256,
   'Longitude': -122.66046,
   'MilePost': 0.45,
   'RoadName': 'I-84'},
  'Name': 'Camas to Rose Quarter via 205 and I-84',
  'StartPoint': {'Description': 'SR14 and Union St in Camas',
   'Direction': 'W',
   'Latitude': 45.5803,
   'Longitude': -122.385324,
   'MilePost': 14.65,
   'RoadName': 'SR 14'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 361},
 {'AverageTime': 14,
  'CurrentTime': 15,
  'Description': 'Clark County Fairgrounds to Delta Park',
  'Distance': 10.82,
  'EndPoint': {'Description': 'I-5 Delta Park in Portland',
   'Direction': 'S',
   'Latitude': 45.60328,
   'Longitude': -122.68352,
   'MilePost': 307.35,
   'RoadName': 'I-5'},
  'Name': 'Clark County Fairgrounds to Delta Park',
  'StartPoint': {'Description': 'I-5 SB and 179th St in Vancouver',
   'Direction': 'S',
   'Latitude': 45.754301,
   'Longitude': -122.663841,
   'MilePost': 9.77,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 362},
 {'AverageTime': 13,
  'CurrentTime': 15,
  'Description': 'Clark County Fairgrounds to Portland International Airport Exit',
  'Distance': 14.32,
  'EndPoint': {'Description': 'I-205 and Airport Way in Portland',
   'Direction': 'S',
   'Latitude': 45.57188,
   'Longitude': -122.55094,
   'MilePost': 24.77,
   'RoadName': 'I-205'},
  'Name': 'Clark County Fairgrounds to Portland International Airport Exit',
  'StartPoint': {'Description': 'I-5 and 179th St in Vancouver',
   'Direction': 'S',
   'Latitude': 45.754301,
   'Longitude': -122.663841,
   'MilePost': 9.77,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 363},
 {'AverageTime': 19,
  'CurrentTime': 20,
  'Description': 'Clark County Fairgrounds to Rose Quarter',
  'Distance': 15.66,
  'EndPoint': {'Description': 'I-5 and Rose Quarter in Portland',
   'Direction': 'S',
   'Latitude': 45.53625,
   'Longitude': -122.66727,
   'MilePost': 302.51,
   'RoadName': 'I-5'},
  'Name': 'Clark County Fairgrounds to Rose Quarter',
  'StartPoint': {'Description': 'I-5 and 179th St in Vancouver',
   'Direction': 'S',
   'Latitude': 45.754301,
   'Longitude': -122.663841,
   'MilePost': 9.77,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 364},
 {'AverageTime': 14,
  'CurrentTime': 15,
  'Description': 'Delta Park to Clark County Fairgrounds',
  'Distance': 10.36,
  'EndPoint': {'Description': 'I-5 and 179th St in Vancouver',
   'Direction': 'N',
   'Latitude': 45.754301,
   'Longitude': -122.663841,
   'MilePost': 9.76,
   'RoadName': 'I-5'},
  'Name': 'Delta Park to Clark County Fairgrounds',
  'StartPoint': {'Description': 'Delta Park in Portland',
   'Direction': 'N',
   'Latitude': 45.61146,
   'Longitude': -122.679,
   'MilePost': 307.9,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 365},
 {'AverageTime': 14,
  'CurrentTime': 14,
  'Description': 'Fremont Bridge to Hazel Dell',
  'Distance': 9.28,
  'EndPoint': {'Description': 'I-5 and 78th St Hazel Dell in Vancouver',
   'Direction': 'N',
   'Latitude': 45.676544,
   'Longitude': -122.664559,
   'MilePost': 4.25,
   'RoadName': 'I-5'},
  'Name': 'Fremont Bridge to Hazel Dell',
  'StartPoint': {'Description': 'Fremont Bridge in Portland',
   'Direction': 'N',
   'Latitude': 45.54731,
   'Longitude': -122.6789,
   'MilePost': 303.47,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 366},
 {'AverageTime': 38,
  'CurrentTime': 18,
  'Description': 'I-405-US 26 to Hazel Dell',
  'Distance': 12.71,
  'EndPoint': {'Description': 'I-5 and 78th St Hazel Dell in Vancouver',
   'Direction': 'N',
   'Latitude': 45.676544,
   'Longitude': -122.664559,
   'MilePost': 4.25,
   'RoadName': 'I-5'},
  'Name': 'I-405-US 26 to Hazel Dell',
  'StartPoint': {'Description': 'I-405/US26 in Portland',
   'Direction': 'N',
   'Latitude': 45.51688,
   'Longitude': -122.688,
   'MilePost': 1.77,
   'RoadName': 'I-405'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 367},
 {'AverageTime': 7,
  'CurrentTime': 7,
  'Description': 'I-84 to Mill Plain',
  'Distance': 7.02,
  'EndPoint': {'Description': 'Mill Plain in Vancouver',
   'Direction': 'N',
   'Latitude': 45.621409,
   'Longitude': -122.559835,
   'MilePost': 28.36,
   'RoadName': 'I-205'},
  'Name': 'I-84 to Mill Plain via 205',
  'StartPoint': {'Description': 'I-84 in Portland',
   'Direction': 'N',
   'Latitude': 45.53488,
   'Longitude': -122.565,
   'MilePost': 21.68,
   'RoadName': 'I-205'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 368},
 {'AverageTime': 16,
  'CurrentTime': 16,
  'Description': 'Portland International Airport Exit to Clark County Fairgrounds',
  'Distance': 14.46,
  'EndPoint': {'Description': 'Clark County Fairgrounds',
   'Direction': 'N',
   'Latitude': 45.754301,
   'Longitude': -122.663841,
   'MilePost': 9.76,
   'RoadName': 'I-5'},
  'Name': 'Portland International Airport Exit to Clark County Fairgrounds via 205',
  'StartPoint': {'Description': 'Portland International Airport Exit',
   'Direction': 'N',
   'Latitude': 45.5721,
   'Longitude': -122.548,
   'MilePost': 24.92,
   'RoadName': 'I-205'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 369},
 {'AverageTime': 26,
  'CurrentTime': 26,
  'Description': 'Rose Quarter to Camas',
  'Distance': 21.12,
  'EndPoint': {'Description': 'Camas',
   'Direction': 'E',
   'Latitude': 45.5803,
   'Longitude': -122.385324,
   'MilePost': 14.65,
   'RoadName': 'SR 14'},
  'Name': 'Rose Quarter to Camas via 1-5',
  'StartPoint': {'Description': 'Rose Quarter in Portland',
   'Direction': 'N',
   'Latitude': 45.53625,
   'Longitude': -122.667,
   'MilePost': 302.5,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 370},
 {'AverageTime': 23,
  'CurrentTime': 23,
  'Description': 'Rose Quarter to Camas',
  'Distance': 20.97,
  'EndPoint': {'Description': 'Camas',
   'Direction': 'E',
   'Latitude': 45.5803,
   'Longitude': -122.385324,
   'MilePost': 14.65,
   'RoadName': 'SR 14'},
  'Name': 'Rose Quarter to Camas via 1-84',
  'StartPoint': {'Description': 'Rose Quarter in Portland',
   'Direction': 'E',
   'Latitude': 45.52048,
   'Longitude': -122.665,
   'MilePost': 0.1,
   'RoadName': 'I-84'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 371},
 {'AverageTime': 20,
  'CurrentTime': 22,
  'Description': 'Rose Quarter to Clark County Fairgrounds',
  'Distance': 15.76,
  'EndPoint': {'Description': 'I-5 and 179th St in Vancouver',
   'Direction': 'N',
   'Latitude': 45.754301,
   'Longitude': -122.663841,
   'MilePost': 9.76,
   'RoadName': 'I-5'},
  'Name': 'Rose Quarter to Clark County Fairgrounds via 1-5',
  'StartPoint': {'Description': 'Rose Quarter in Portland',
   'Direction': 'N',
   'Latitude': 45.53625,
   'Longitude': -122.667,
   'MilePost': 302.5,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 372},
 {'AverageTime': 35,
  'CurrentTime': 37,
  'Description': 'Tualatin OR to Salmon Creek WA',
  'Distance': 35.05,
  'EndPoint': {'Description': 'Salmon Creek WA',
   'Direction': 'N',
   'Latitude': 45.707495,
   'Longitude': -122.631733,
   'MilePost': 36.67,
   'RoadName': 'I-205'},
  'Name': 'Tualatin OR to Salmon Creek WA - via 205',
  'StartPoint': {'Description': 'Tualatin OR',
   'Direction': 'N',
   'Latitude': 45.37297,
   'Longitude': -122.73,
   'MilePost': 1.96,
   'RoadName': 'I-205'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 373},
 {'AverageTime': 35,
  'CurrentTime': 34,
  'Description': 'Tualatin OR to Salmon Creek WA',
  'Distance': 28.34,
  'EndPoint': {'Description': 'I-5 and 134th St in Vancouver',
   'Direction': 'N',
   'Latitude': 45.716985,
   'Longitude': -122.654515,
   'MilePost': 7.3,
   'RoadName': 'I-5'},
  'Name': 'Tualatin OR to Salmon Creek WA via 1-5',
  'StartPoint': {'Description': 'Tualatin OR in Portland',
   'Direction': 'N',
   'Latitude': 45.35355,
   'Longitude': -122.765,
   'MilePost': 287.46,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 374},
 {'AverageTime': 8,
  'CurrentTime': 12,
  'Description': '63rd St to I-5/I-405 Jct.',
  'Distance': 8.03,
  'EndPoint': {'Description': 'I-5 and I-405 JCT in Portland',
   'Direction': 'S',
   'Latitude': 45.55632,
   'Longitude': -122.67901,
   'MilePost': 303.47,
   'RoadName': 'I-5'},
  'Name': 'I-5 SB and 63rd to I-405 JCT North',
  'StartPoint': {'Description': 'I-5 and 63rd in Vancouver',
   'Direction': 'S',
   'Latitude': 45.668141,
   'Longitude': -122.666701,
   'MilePost': 3.1,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 375},
 {'AverageTime': 11,
  'CurrentTime': 17,
  'Description': '63rd to US-26 West',
  'Distance': 12.14,
  'EndPoint': {'Description': 'US26 in Portland',
   'Direction': 'S',
   'Latitude': 45.51348,
   'Longitude': -122.66793,
   'MilePost': 1.77,
   'RoadName': 'I-405'},
  'Name': 'I-5 SB and 63rd to US26',
  'StartPoint': {'Description': 'I-5 SB and 63rd in Vancouver',
   'Direction': 'S',
   'Latitude': 45.668141,
   'Longitude': -122.666701,
   'MilePost': 3.1,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 376},
 {'AverageTime': 10,
  'CurrentTime': 11,
  'Description': 'I-5 and Fourth Plain to SR 502',
  'Distance': 10.26,
  'EndPoint': {'Description': 'I-5 and SR 502',
   'Direction': 'N',
   'Latitude': 45.78126569,
   'Longitude': -122.672017,
   'MilePost': 11.67,
   'RoadName': 'I-5'},
  'Name': 'I-5 and Fourth Plain to SR 502',
  'StartPoint': {'Description': 'I-5 and Fourth Plain',
   'Direction': 'N',
   'Latitude': 45.63633996,
   'Longitude': -122.662113,
   'MilePost': 1.41,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 377},
 {'AverageTime': 22,
  'CurrentTime': 22,
  'Description': 'I-205 SB and 18th St to SR14 to I-5 to I-84 JCT',
  'Distance': 15.74,
  'EndPoint': {'Description': 'I-5 and I-84 JCT in Portland',
   'Direction': 'S',
   'Latitude': 45.54485,
   'Longitude': -122.67707,
   'MilePost': 302.17,
   'RoadName': 'I-5'},
  'Name': 'I-205 SB and 18th St to SR14 to I-5 to I-84 JCT',
  'StartPoint': {'Description': 'I-205 SB and 18th St to SR14 to I-5 in Vancouver',
   'Direction': 'S',
   'Latitude': 45.628406,
   'Longitude': -122.559927,
   'MilePost': 29.87,
   'RoadName': 'I-205'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 378},
 {'AverageTime': 16,
  'CurrentTime': 17,
  'Description': 'I-205 SB and 18th St to I-84 to I-5 JCT',
  'Distance': 14.51,
  'EndPoint': {'Description': 'I-84 to I-5 JCT',
   'Direction': 'W',
   'Latitude': 45.52976,
   'Longitude': -122.64923,
   'MilePost': 0.45,
   'RoadName': 'I-84'},
  'Name': 'I-205 SB and 18th St to I-84 to I-5 JCT',
  'StartPoint': {'Description': 'I-205 SB and 18th St in Vancouver',
   'Direction': 'S',
   'Latitude': 45.640957,
   'Longitude': -122.563394,
   'MilePost': 29.87,
   'RoadName': 'I-205'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 379},
 {'AverageTime': 10,
  'CurrentTime': 11,
  'Description': 'Federal Way (320th) to Tacoma Dome',
  'Distance': 9.55,
  'EndPoint': {'Description': 'I-5 @ Tacoma Dome MP 134',
   'Direction': 'S',
   'Latitude': 47.234857,
   'Longitude': -122.426813,
   'MilePost': 134.09,
   'RoadName': '005'},
  'Name': 'Federal Way-Tacoma (SB PM)',
  'StartPoint': {'Description': 'I-5 @ Federal Way VMS MP 145.22',
   'Direction': 'S',
   'Latitude': 47.315327,
   'Longitude': -122.297855,
   'MilePost': 143.64,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 382},
 {'AverageTime': 21,
  'CurrentTime': 21,
  'Description': 'SR14 and Cascade Pk to I-5 and I-84 JCT',
  'Distance': 14.9,
  'EndPoint': {'Description': 'I-5 and I-84 JCT in Portland',
   'Direction': 'S',
   'Latitude': 45.53295,
   'Longitude': -122.66641,
   'MilePost': 302.17,
   'RoadName': 'I-5'},
  'Name': '019 SR14 and Cascade Pk to I-5 and I-84 JCT',
  'StartPoint': {'Description': 'SR14 and Cascade Park in Vancouver',
   'Direction': 'W',
   'Latitude': 45.596111,
   'Longitude': -122.519722,
   'MilePost': 7.72,
   'RoadName': 'SR 14'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 384},
 {'AverageTime': 18,
  'CurrentTime': 18,
  'Description': 'SR14 and Cascade Pk to I-205 to I-5 and I-84 JCT',
  'Distance': 14.22,
  'EndPoint': {'Description': 'I-5 and I-84 JCT in Portland',
   'Direction': 'W',
   'Latitude': 45.5256,
   'Longitude': -122.66046,
   'MilePost': 0.45,
   'RoadName': 'I-84'},
  'Name': '020 SR14 and Cascade Pk to I-205 to I-5 and I-84 JCT',
  'StartPoint': {'Description': 'SR14 and Cascade Park in Vancouver',
   'Direction': 'W',
   'Latitude': 45.596111,
   'Longitude': -122.519722,
   'MilePost': 7.72,
   'RoadName': 'SR 14'},
  'TimeUpdated': '/Date(1502667000000-0700)/',
  'TravelTimeID': 385},
 {'AverageTime': 9,
  'CurrentTime': 9,
  'Description': 'EB SR 16 Olympic Dr WB To EB SR 16 Sprague EB On Ramp',
  'Distance': 8.38,
  'EndPoint': {'Description': 'SR 16 @ Sprague EB On Ramp in Tacoma',
   'Direction': 'E',
   'Latitude': 47.23519072,
   'Longitude': -122.467893,
   'MilePost': 1.0,
   'RoadName': 'SR 16'},
  'Name': 'EB SR 16, Olympic Dr To I-5 Jct',
  'StartPoint': {'Description': 'SR 16 @ Olympic Dr WB in Gig Harbor',
   'Direction': 'E',
   'Latitude': 47.30933,
   'Longitude': -122.57979,
   'MilePost': 11.07,
   'RoadName': 'SR 16'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 386},
 {'AverageTime': 3,
  'CurrentTime': 3,
  'Description': 'EB SR 16 Olympic Dr WB To TNB-West',
  'Distance': 2.66,
  'EndPoint': {'Description': 'SR 16 @ TNB-West in Gig Harbor',
   'Direction': 'E',
   'Latitude': 47.27566,
   'Longitude': -122.56045,
   'MilePost': 8.41,
   'RoadName': 'SR 16'},
  'Name': 'EB SR 16, Olympic Dr To TNB-West',
  'StartPoint': {'Description': 'SR 16 @ Olympic Dr WB in Gig Harbor',
   'Direction': 'E',
   'Latitude': 47.30933,
   'Longitude': -122.57979,
   'MilePost': 11.07,
   'RoadName': 'SR 16'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 387},
 {'AverageTime': 17,
  'CurrentTime': 17,
  'Description': 'SB I-5 Port of Tacoma To JBLM Main Gate',
  'Distance': 15.7,
  'EndPoint': {'Description': 'I-5 @ JBLM Main Gate',
   'Direction': 'S',
   'Latitude': 47.10493656,
   'Longitude': -122.585386,
   'MilePost': 121.04,
   'RoadName': 'I-5'},
  'Name': 'SB I-5, PoT To JBLM Main Gate',
  'StartPoint': {'Description': 'I-5 @ PoT in Tacoma',
   'Direction': 'S',
   'Latitude': 47.240541,
   'Longitude': -122.372755,
   'MilePost': 136.74,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 388},
 {'AverageTime': 5,
  'CurrentTime': 5,
  'Description': 'SB I-5 Port of Tacoma To SR 16',
  'Distance': 3.83,
  'EndPoint': {'Description': 'I-5 @ SR 16 in Tacoma',
   'Direction': 'S',
   'Latitude': 47.2301825,
   'Longitude': -122.449769,
   'MilePost': 132.91,
   'RoadName': 'I-5'},
  'Name': 'SB I-5, PoT To SR 16',
  'StartPoint': {'Description': 'I-5 @ PoT in Tacoma',
   'Direction': 'S',
   'Latitude': 47.240541,
   'Longitude': -122.372755,
   'MilePost': 136.74,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 389},
 {'AverageTime': 11,
  'CurrentTime': 11,
  'Description': 'SB I-5 Port of Tacoma To SR 512',
  'Distance': 9.39,
  'EndPoint': {'Description': 'I-5 @ SR 512 in Lakewood',
   'Direction': 'S',
   'Latitude': 47.16158351,
   'Longitude': -122.481133,
   'MilePost': 127.35,
   'RoadName': 'I-5'},
  'Name': 'SB I-5, PoT To SR 512',
  'StartPoint': {'Description': 'I-5 @ PoT in Tacoma',
   'Direction': 'S',
   'Latitude': 47.240541,
   'Longitude': -122.372755,
   'MilePost': 136.74,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 390},
 {'AverageTime': 22,
  'CurrentTime': 20,
  'Description': 'SB I-5 Pierce King County Line To JBLM Main Gate',
  'Distance': 18.37,
  'EndPoint': {'Description': 'I-5 @ JBLM Main Gate',
   'Direction': 'S',
   'Latitude': 47.10493656,
   'Longitude': -122.585386,
   'MilePost': 121.04,
   'RoadName': 'I-5'},
  'Name': 'SB I-5, PKCL To JBLM Main Gate',
  'StartPoint': {'Description': 'I-5 @ Pierce King County Line',
   'Direction': 'S',
   'Latitude': 47.255624,
   'Longitude': -122.33113,
   'MilePost': 139.41,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 401},
 {'AverageTime': 9,
  'CurrentTime': 8,
  'Description': 'SB I-5 Pierce King County Line To SR 16',
  'Distance': 6.5,
  'EndPoint': {'Description': 'I-5 @ SR 16 in Tacoma',
   'Direction': 'S',
   'Latitude': 47.2301825,
   'Longitude': -122.449769,
   'MilePost': 132.91,
   'RoadName': 'I-5'},
  'Name': 'SB I-5, PKCL To SR 16',
  'StartPoint': {'Description': 'I-5 @ Pierce King County Line',
   'Direction': 'S',
   'Latitude': 47.255624,
   'Longitude': -122.33113,
   'MilePost': 139.41,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 402},
 {'AverageTime': 15,
  'CurrentTime': 14,
  'Description': 'SB I-5 Pierce King County Line To SR 512',
  'Distance': 12.06,
  'EndPoint': {'Description': 'I-5 @ SR 512 in Lakewood',
   'Direction': 'S',
   'Latitude': 47.16158351,
   'Longitude': -122.481133,
   'MilePost': 127.35,
   'RoadName': 'I-5'},
  'Name': 'SB I-5, PKCL To SR 512',
  'StartPoint': {'Description': 'I-5 @ Pierce King County Line',
   'Direction': 'S',
   'Latitude': 47.255624,
   'Longitude': -122.33113,
   'MilePost': 139.41,
   'RoadName': 'I-5'},
  'TimeUpdated': '/Date(1502667300000-0700)/',
  'TravelTimeID': 403}]

Much more readable, now let's transoform it into a data frame.

In [22]:
wsdot_traffic_df = json_normalize(raw_json)
wsdot_traffic_df
Out[22]:
AverageTime CurrentTime Description Distance EndPoint.Description EndPoint.Direction EndPoint.Latitude EndPoint.Longitude EndPoint.MilePost EndPoint.RoadName Name StartPoint.Description StartPoint.Direction StartPoint.Latitude StartPoint.Longitude StartPoint.MilePost StartPoint.RoadName TimeUpdated TravelTimeID
0 30 34 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 HOV Everett-Seattle (SB AM) I-5 @ 41st St in Everett S 47.924280 -122.265480 192.55 I-5 /Date(1502667300000-0700)/ 2
1 27 28 Downtown Seattle to Everett using HOV lanes 26.94 I-5 @ 41st St in Everett N 47.924280 -122.265480 192.77 I-5 HOV Seattle-Everett (NB PM) I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 /Date(1502667300000-0700)/ 3
2 27 28 Downtown Seattle to Everett 26.94 I-5 @ 41st St in Everett N 47.924280 -122.265480 192.77 I-5 Seattle-Everett (NB PM) I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 /Date(1502667300000-0700)/ 4
3 11 11 Downtown Bellevue to Issaquah 9.55 I-90 @ Front St in Issaquah E 47.541799 -122.037396 16.96 I-90 Bellevue-Issaquah (EB PM) I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 /Date(1502667300000-0700)/ 5
4 11 11 Downtown Bellevue to Issaquah using HOV lanes 9.55 I-90 @ Front St in Issaquah E 47.541799 -122.037396 16.96 I-90 HOV Bellevue-Issaquah (EB PM) I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 /Date(1502667300000-0700)/ 6
5 10 10 Issaquah to Downtown Bellevue using HOV lanes 9.48 I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 HOV Issaquah-Bellevue (WB AM) I-90 @ Front St in Issaquah W 47.541799 -122.037396 16.96 I-90 /Date(1502667300000-0700)/ 7
6 11 13 Issaquah to Downtown Bellevue 9.48 I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 Issaquah-Bellevue (WB AM) I-90 @ Front St in Issaquah W 47.541799 -122.037396 16.96 I-90 /Date(1502667300000-0700)/ 8
7 26 26 Downtown Bellevue to Everett 26.06 I-5 @ 41st St in Everett N 47.924280 -122.265480 192.77 I-5 Bellevue-Everett (NB PM) I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 /Date(1502667300000-0700)/ 9
8 28 27 Everett to Downtown Bellevue 26.34 I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 Everett-Bellevue (SB AM) I-5 @ 41st St in Everett S 47.924280 -122.265480 192.55 I-5 /Date(1502667300000-0700)/ 10
9 26 26 Downtown Bellevue to Everett using HOV lanes 26.06 I-5 @ 41st St in Everett N 47.924280 -122.265480 192.77 I-5 HOV Bellevue-Everett (NB PM) I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 /Date(1502667300000-0700)/ 11
10 27 27 Everett to Downtown Bellevue using HOV lanes 26.34 I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 HOV Everett-Bellevue (SB AM) I-5 @ 41st St in Everett S 47.924280 -122.265480 192.55 I-5 /Date(1502667300000-0700)/ 12
11 17 37 Federal Way to SeaTac 8.82 I-5 @ S 188th St in SeaTac N 47.438760 -122.269470 152.80 I-5 Federal Way-SeaTac (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 /Date(1502667300000-0700)/ 13
12 12 10 Federal Way to SeaTac using HOV lanes 8.82 I-5 @ S 188th St in SeaTac N 47.438760 -122.269470 152.80 I-5 HOV Federal Way-SeaTac (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 /Date(1502667300000-0700)/ 14
13 9 9 SeaTac to Federal Way using HOV lanes 9.16 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 HOV SeaTac-Federal Way (SB PM) I-5 @ S 188th St in SeaTac S 47.438760 -122.269470 152.80 I-5 /Date(1502667300000-0700)/ 15
14 9 9 SeaTac to Federal Way 9.16 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 SeaTac-Federal Way (SB PM) I-5 @ S 188th St in SeaTac S 47.438760 -122.269470 152.80 I-5 /Date(1502667300000-0700)/ 16
15 33 58 Federal Way to Downtown Seattle 22.15 I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 Federal Way-Seattle (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 /Date(1502667300000-0700)/ 17
16 28 25 Federal Way to Downtown Seattle using HOV lanes 22.15 I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 HOV Federal Way-Seattle (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 /Date(1502667300000-0700)/ 18
17 22 23 Downtown Seattle to Federal Way using HOV lanes 22.19 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 HOV Seattle-Federal Way (SB PM) I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 /Date(1502667300000-0700)/ 19
18 22 22 Downtown Seattle to Federal Way 22.19 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 Seattle-Federal Way (SB PM) I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 /Date(1502667300000-0700)/ 20
19 27 50 Downtown Bellevue to Federal Way 24.56 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 Bellevue-Federal Way (SB PM) I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 /Date(1502667300000-0700)/ 21
20 35 56 Federal Way to Downtown Bellevue 23.58 I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 Federal Way-Bellevue (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 /Date(1502667300000-0700)/ 22
21 26 33 Downtown Bellevue to Federal Way using HOV lanes 24.56 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 HOV Bellevue-Federal Way (SB PM) I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 /Date(1502667300000-0700)/ 23
22 30 27 Federal Way to Downtown Bellevue using HOV lanes 23.58 I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 HOV Federal Way-Bellevue (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 /Date(1502667300000-0700)/ 24
23 16 17 Downtown Seattle to Lynnwood using HOV lanes 15.73 I-5 @ 196th St SW in Lynnwood N 47.819545 -122.279109 181.56 I-5 HOV Seattle-Lynnwood (NB PM) I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 /Date(1502667300000-0700)/ 25
24 19 23 Lynnwood to Downtown Seattle 15.23 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 Lynnwood-Seattle (SB AM) I-5 @ 196th St SW in Lynnwood S 47.817269 -122.285137 181.06 I-5 /Date(1502667300000-0700)/ 26
25 16 18 Downtown Seattle to Lynnwood 15.73 I-5 @ 196th St SW in Lynnwood N 47.819545 -122.279109 181.56 I-5 Seattle-Lynnwood (NB PM) I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 /Date(1502667300000-0700)/ 27
26 0 0 Lynnwood to Downtown Seattle using express lan... 0.00 I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 HOV Lynnwood-Seattle (SB REV) I-5 @ 196th St SW in Lynnwood S 47.817269 -122.285137 181.06 I-5 /Date(1502667300000-0700)/ 28
27 0 0 Lynnwood to Downtown Seattle using express lanes 0.00 I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 Lynnwood-Seattle (SB REV) I-5 @ 196th St SW in Lynnwood S 47.817269 -122.285137 181.06 I-5 /Date(1502667300000-0700)/ 29
28 17 21 Renton to Downtown Seattle using HOV lanes 13.77 I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 HOV Renton-Seattle (NB AM) I-405 @ SR 167 in Renton S 47.467434 -122.219631 2.21 I-405 /Date(1502667300000-0700)/ 30
29 15 14 Downtown Seattle to Renton using HOV lanes 13.61 I-405 @ SR 167 in Renton N 47.467434 -122.219631 2.21 I-405 HOV Seattle-Renton (SB PM) I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 /Date(1502667300000-0700)/ 31
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
150 24 25 Camas to Rose Quarter 21.15 I-5 and I-84 JCT in Portland W 45.525600 -122.660460 0.45 I-84 Camas to Rose Quarter via 205 and I-84 SR14 and Union St in Camas W 45.580300 -122.385324 14.65 SR 14 /Date(1502667000000-0700)/ 361
151 14 15 Clark County Fairgrounds to Delta Park 10.82 I-5 Delta Park in Portland S 45.603280 -122.683520 307.35 I-5 Clark County Fairgrounds to Delta Park I-5 SB and 179th St in Vancouver S 45.754301 -122.663841 9.77 I-5 /Date(1502667000000-0700)/ 362
152 13 15 Clark County Fairgrounds to Portland Internati... 14.32 I-205 and Airport Way in Portland S 45.571880 -122.550940 24.77 I-205 Clark County Fairgrounds to Portland Internati... I-5 and 179th St in Vancouver S 45.754301 -122.663841 9.77 I-5 /Date(1502667000000-0700)/ 363
153 19 20 Clark County Fairgrounds to Rose Quarter 15.66 I-5 and Rose Quarter in Portland S 45.536250 -122.667270 302.51 I-5 Clark County Fairgrounds to Rose Quarter I-5 and 179th St in Vancouver S 45.754301 -122.663841 9.77 I-5 /Date(1502667000000-0700)/ 364
154 14 15 Delta Park to Clark County Fairgrounds 10.36 I-5 and 179th St in Vancouver N 45.754301 -122.663841 9.76 I-5 Delta Park to Clark County Fairgrounds Delta Park in Portland N 45.611460 -122.679000 307.90 I-5 /Date(1502667000000-0700)/ 365
155 14 14 Fremont Bridge to Hazel Dell 9.28 I-5 and 78th St Hazel Dell in Vancouver N 45.676544 -122.664559 4.25 I-5 Fremont Bridge to Hazel Dell Fremont Bridge in Portland N 45.547310 -122.678900 303.47 I-5 /Date(1502667000000-0700)/ 366
156 38 18 I-405-US 26 to Hazel Dell 12.71 I-5 and 78th St Hazel Dell in Vancouver N 45.676544 -122.664559 4.25 I-5 I-405-US 26 to Hazel Dell I-405/US26 in Portland N 45.516880 -122.688000 1.77 I-405 /Date(1502667000000-0700)/ 367
157 7 7 I-84 to Mill Plain 7.02 Mill Plain in Vancouver N 45.621409 -122.559835 28.36 I-205 I-84 to Mill Plain via 205 I-84 in Portland N 45.534880 -122.565000 21.68 I-205 /Date(1502667000000-0700)/ 368
158 16 16 Portland International Airport Exit to Clark C... 14.46 Clark County Fairgrounds N 45.754301 -122.663841 9.76 I-5 Portland International Airport Exit to Clark C... Portland International Airport Exit N 45.572100 -122.548000 24.92 I-205 /Date(1502667000000-0700)/ 369
159 26 26 Rose Quarter to Camas 21.12 Camas E 45.580300 -122.385324 14.65 SR 14 Rose Quarter to Camas via 1-5 Rose Quarter in Portland N 45.536250 -122.667000 302.50 I-5 /Date(1502667000000-0700)/ 370
160 23 23 Rose Quarter to Camas 20.97 Camas E 45.580300 -122.385324 14.65 SR 14 Rose Quarter to Camas via 1-84 Rose Quarter in Portland E 45.520480 -122.665000 0.10 I-84 /Date(1502667000000-0700)/ 371
161 20 22 Rose Quarter to Clark County Fairgrounds 15.76 I-5 and 179th St in Vancouver N 45.754301 -122.663841 9.76 I-5 Rose Quarter to Clark County Fairgrounds via 1-5 Rose Quarter in Portland N 45.536250 -122.667000 302.50 I-5 /Date(1502667000000-0700)/ 372
162 35 37 Tualatin OR to Salmon Creek WA 35.05 Salmon Creek WA N 45.707495 -122.631733 36.67 I-205 Tualatin OR to Salmon Creek WA - via 205 Tualatin OR N 45.372970 -122.730000 1.96 I-205 /Date(1502667000000-0700)/ 373
163 35 34 Tualatin OR to Salmon Creek WA 28.34 I-5 and 134th St in Vancouver N 45.716985 -122.654515 7.30 I-5 Tualatin OR to Salmon Creek WA via 1-5 Tualatin OR in Portland N 45.353550 -122.765000 287.46 I-5 /Date(1502667000000-0700)/ 374
164 8 12 63rd St to I-5/I-405 Jct. 8.03 I-5 and I-405 JCT in Portland S 45.556320 -122.679010 303.47 I-5 I-5 SB and 63rd to I-405 JCT North I-5 and 63rd in Vancouver S 45.668141 -122.666701 3.10 I-5 /Date(1502667000000-0700)/ 375
165 11 17 63rd to US-26 West 12.14 US26 in Portland S 45.513480 -122.667930 1.77 I-405 I-5 SB and 63rd to US26 I-5 SB and 63rd in Vancouver S 45.668141 -122.666701 3.10 I-5 /Date(1502667000000-0700)/ 376
166 10 11 I-5 and Fourth Plain to SR 502 10.26 I-5 and SR 502 N 45.781266 -122.672017 11.67 I-5 I-5 and Fourth Plain to SR 502 I-5 and Fourth Plain N 45.636340 -122.662113 1.41 I-5 /Date(1502667000000-0700)/ 377
167 22 22 I-205 SB and 18th St to SR14 to I-5 to I-84 JCT 15.74 I-5 and I-84 JCT in Portland S 45.544850 -122.677070 302.17 I-5 I-205 SB and 18th St to SR14 to I-5 to I-84 JCT I-205 SB and 18th St to SR14 to I-5 in Vancouver S 45.628406 -122.559927 29.87 I-205 /Date(1502667000000-0700)/ 378
168 16 17 I-205 SB and 18th St to I-84 to I-5 JCT 14.51 I-84 to I-5 JCT W 45.529760 -122.649230 0.45 I-84 I-205 SB and 18th St to I-84 to I-5 JCT I-205 SB and 18th St in Vancouver S 45.640957 -122.563394 29.87 I-205 /Date(1502667000000-0700)/ 379
169 10 11 Federal Way (320th) to Tacoma Dome 9.55 I-5 @ Tacoma Dome MP 134 S 47.234857 -122.426813 134.09 005 Federal Way-Tacoma (SB PM) I-5 @ Federal Way VMS MP 145.22 S 47.315327 -122.297855 143.64 I-5 /Date(1502667300000-0700)/ 382
170 21 21 SR14 and Cascade Pk to I-5 and I-84 JCT 14.90 I-5 and I-84 JCT in Portland S 45.532950 -122.666410 302.17 I-5 019 SR14 and Cascade Pk to I-5 and I-84 JCT SR14 and Cascade Park in Vancouver W 45.596111 -122.519722 7.72 SR 14 /Date(1502667000000-0700)/ 384
171 18 18 SR14 and Cascade Pk to I-205 to I-5 and I-84 JCT 14.22 I-5 and I-84 JCT in Portland W 45.525600 -122.660460 0.45 I-84 020 SR14 and Cascade Pk to I-205 to I-5 and I-... SR14 and Cascade Park in Vancouver W 45.596111 -122.519722 7.72 SR 14 /Date(1502667000000-0700)/ 385
172 9 9 EB SR 16 Olympic Dr WB To EB SR 16 Sprague EB ... 8.38 SR 16 @ Sprague EB On Ramp in Tacoma E 47.235191 -122.467893 1.00 SR 16 EB SR 16, Olympic Dr To I-5 Jct SR 16 @ Olympic Dr WB in Gig Harbor E 47.309330 -122.579790 11.07 SR 16 /Date(1502667300000-0700)/ 386
173 3 3 EB SR 16 Olympic Dr WB To TNB-West 2.66 SR 16 @ TNB-West in Gig Harbor E 47.275660 -122.560450 8.41 SR 16 EB SR 16, Olympic Dr To TNB-West SR 16 @ Olympic Dr WB in Gig Harbor E 47.309330 -122.579790 11.07 SR 16 /Date(1502667300000-0700)/ 387
174 17 17 SB I-5 Port of Tacoma To JBLM Main Gate 15.70 I-5 @ JBLM Main Gate S 47.104937 -122.585386 121.04 I-5 SB I-5, PoT To JBLM Main Gate I-5 @ PoT in Tacoma S 47.240541 -122.372755 136.74 I-5 /Date(1502667300000-0700)/ 388
175 5 5 SB I-5 Port of Tacoma To SR 16 3.83 I-5 @ SR 16 in Tacoma S 47.230182 -122.449769 132.91 I-5 SB I-5, PoT To SR 16 I-5 @ PoT in Tacoma S 47.240541 -122.372755 136.74 I-5 /Date(1502667300000-0700)/ 389
176 11 11 SB I-5 Port of Tacoma To SR 512 9.39 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 SB I-5, PoT To SR 512 I-5 @ PoT in Tacoma S 47.240541 -122.372755 136.74 I-5 /Date(1502667300000-0700)/ 390
177 22 20 SB I-5 Pierce King County Line To JBLM Main Gate 18.37 I-5 @ JBLM Main Gate S 47.104937 -122.585386 121.04 I-5 SB I-5, PKCL To JBLM Main Gate I-5 @ Pierce King County Line S 47.255624 -122.331130 139.41 I-5 /Date(1502667300000-0700)/ 401
178 9 8 SB I-5 Pierce King County Line To SR 16 6.50 I-5 @ SR 16 in Tacoma S 47.230182 -122.449769 132.91 I-5 SB I-5, PKCL To SR 16 I-5 @ Pierce King County Line S 47.255624 -122.331130 139.41 I-5 /Date(1502667300000-0700)/ 402
179 15 14 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 SB I-5, PKCL To SR 512 I-5 @ Pierce King County Line S 47.255624 -122.331130 139.41 I-5 /Date(1502667300000-0700)/ 403

180 rows × 19 columns

Looks pretty good, but you'll notice the TimeUpdated column has some extra characters that prevent it from being interpreted as a true date and time.

Let's have a closer look, acessing a specific column of the dataframe and using head() to return jsut the first few rows.

In [23]:
wsdot_traffic_df['TimeUpdated'].head()
Out[23]:
0    /Date(1502667300000-0700)/
1    /Date(1502667300000-0700)/
2    /Date(1502667300000-0700)/
3    /Date(1502667300000-0700)/
4    /Date(1502667300000-0700)/
Name: TimeUpdated, dtype: object

Need to prune out some bad characters.

In [24]:
wsdot_traffic_df['TimeUpdated'] = wsdot_traffic_df['TimeUpdated'].str.strip('/Date()')
wsdot_traffic_df['TimeUpdated'].head()
Out[24]:
0    1502667300000-0700
1    1502667300000-0700
2    1502667300000-0700
3    1502667300000-0700
4    1502667300000-0700
Name: TimeUpdated, dtype: object

Almost there; need to chop that -700 off the end.

In [25]:
wsdot_traffic_df['TimeUpdated'] = wsdot_traffic_df['TimeUpdated'].str.split('-').str[0]
wsdot_traffic_df['TimeUpdated'].head()
Out[25]:
0    1502667300000
1    1502667300000
2    1502667300000
3    1502667300000
4    1502667300000
Name: TimeUpdated, dtype: object

Ok, We've got a raw time stamp. Let's parse it into something human-readable

In [26]:
import datetime
wsdot_traffic_df['Timestamp'] = wsdot_traffic_df['TimeUpdated'].apply(
    lambda x: datetime.datetime.fromtimestamp(int(x)/1000 - 7 * 3600).strftime('%Y-%m-%d %H:%M:%S'))

wsdot_traffic_df['Timestamp'].head()
Out[26]:
0    2017-08-13 09:35:00
1    2017-08-13 09:35:00
2    2017-08-13 09:35:00
3    2017-08-13 09:35:00
4    2017-08-13 09:35:00
Name: Timestamp, dtype: object

Looks pretty, but python/pandas doesn't recognize it as a datetime; still thinks it's just an object. One more comand ...

In [27]:
wsdot_traffic_df['Timestamp'] = pd.to_datetime(wsdot_traffic_df['Timestamp'])
wsdot_traffic_df['Timestamp'].head()
Out[27]:
0   2017-08-13 09:35:00
1   2017-08-13 09:35:00
2   2017-08-13 09:35:00
3   2017-08-13 09:35:00
4   2017-08-13 09:35:00
Name: Timestamp, dtype: datetime64[ns]

Review the whole dataframe again (sroll right to see the new TimeSTamp

In [28]:
wsdot_traffic_df
Out[28]:
AverageTime CurrentTime Description Distance EndPoint.Description EndPoint.Direction EndPoint.Latitude EndPoint.Longitude EndPoint.MilePost EndPoint.RoadName Name StartPoint.Description StartPoint.Direction StartPoint.Latitude StartPoint.Longitude StartPoint.MilePost StartPoint.RoadName TimeUpdated TravelTimeID Timestamp
0 30 34 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 HOV Everett-Seattle (SB AM) I-5 @ 41st St in Everett S 47.924280 -122.265480 192.55 I-5 1502667300000 2 2017-08-13 09:35:00
1 27 28 Downtown Seattle to Everett using HOV lanes 26.94 I-5 @ 41st St in Everett N 47.924280 -122.265480 192.77 I-5 HOV Seattle-Everett (NB PM) I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 1502667300000 3 2017-08-13 09:35:00
2 27 28 Downtown Seattle to Everett 26.94 I-5 @ 41st St in Everett N 47.924280 -122.265480 192.77 I-5 Seattle-Everett (NB PM) I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 1502667300000 4 2017-08-13 09:35:00
3 11 11 Downtown Bellevue to Issaquah 9.55 I-90 @ Front St in Issaquah E 47.541799 -122.037396 16.96 I-90 Bellevue-Issaquah (EB PM) I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 1502667300000 5 2017-08-13 09:35:00
4 11 11 Downtown Bellevue to Issaquah using HOV lanes 9.55 I-90 @ Front St in Issaquah E 47.541799 -122.037396 16.96 I-90 HOV Bellevue-Issaquah (EB PM) I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 1502667300000 6 2017-08-13 09:35:00
5 10 10 Issaquah to Downtown Bellevue using HOV lanes 9.48 I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 HOV Issaquah-Bellevue (WB AM) I-90 @ Front St in Issaquah W 47.541799 -122.037396 16.96 I-90 1502667300000 7 2017-08-13 09:35:00
6 11 13 Issaquah to Downtown Bellevue 9.48 I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 Issaquah-Bellevue (WB AM) I-90 @ Front St in Issaquah W 47.541799 -122.037396 16.96 I-90 1502667300000 8 2017-08-13 09:35:00
7 26 26 Downtown Bellevue to Everett 26.06 I-5 @ 41st St in Everett N 47.924280 -122.265480 192.77 I-5 Bellevue-Everett (NB PM) I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 1502667300000 9 2017-08-13 09:35:00
8 28 27 Everett to Downtown Bellevue 26.34 I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 Everett-Bellevue (SB AM) I-5 @ 41st St in Everett S 47.924280 -122.265480 192.55 I-5 1502667300000 10 2017-08-13 09:35:00
9 26 26 Downtown Bellevue to Everett using HOV lanes 26.06 I-5 @ 41st St in Everett N 47.924280 -122.265480 192.77 I-5 HOV Bellevue-Everett (NB PM) I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 1502667300000 11 2017-08-13 09:35:00
10 27 27 Everett to Downtown Bellevue using HOV lanes 26.34 I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 HOV Everett-Bellevue (SB AM) I-5 @ 41st St in Everett S 47.924280 -122.265480 192.55 I-5 1502667300000 12 2017-08-13 09:35:00
11 17 37 Federal Way to SeaTac 8.82 I-5 @ S 188th St in SeaTac N 47.438760 -122.269470 152.80 I-5 Federal Way-SeaTac (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 1502667300000 13 2017-08-13 09:35:00
12 12 10 Federal Way to SeaTac using HOV lanes 8.82 I-5 @ S 188th St in SeaTac N 47.438760 -122.269470 152.80 I-5 HOV Federal Way-SeaTac (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 1502667300000 14 2017-08-13 09:35:00
13 9 9 SeaTac to Federal Way using HOV lanes 9.16 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 HOV SeaTac-Federal Way (SB PM) I-5 @ S 188th St in SeaTac S 47.438760 -122.269470 152.80 I-5 1502667300000 15 2017-08-13 09:35:00
14 9 9 SeaTac to Federal Way 9.16 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 SeaTac-Federal Way (SB PM) I-5 @ S 188th St in SeaTac S 47.438760 -122.269470 152.80 I-5 1502667300000 16 2017-08-13 09:35:00
15 33 58 Federal Way to Downtown Seattle 22.15 I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 Federal Way-Seattle (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 1502667300000 17 2017-08-13 09:35:00
16 28 25 Federal Way to Downtown Seattle using HOV lanes 22.15 I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 HOV Federal Way-Seattle (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 1502667300000 18 2017-08-13 09:35:00
17 22 23 Downtown Seattle to Federal Way using HOV lanes 22.19 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 HOV Seattle-Federal Way (SB PM) I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 1502667300000 19 2017-08-13 09:35:00
18 22 22 Downtown Seattle to Federal Way 22.19 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 Seattle-Federal Way (SB PM) I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 1502667300000 20 2017-08-13 09:35:00
19 27 50 Downtown Bellevue to Federal Way 24.56 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 Bellevue-Federal Way (SB PM) I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 1502667300000 21 2017-08-13 09:35:00
20 35 56 Federal Way to Downtown Bellevue 23.58 I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 Federal Way-Bellevue (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 1502667300000 22 2017-08-13 09:35:00
21 26 33 Downtown Bellevue to Federal Way using HOV lanes 24.56 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 HOV Bellevue-Federal Way (SB PM) I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 1502667300000 23 2017-08-13 09:35:00
22 30 27 Federal Way to Downtown Bellevue using HOV lanes 23.58 I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 HOV Federal Way-Bellevue (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 1502667300000 24 2017-08-13 09:35:00
23 16 17 Downtown Seattle to Lynnwood using HOV lanes 15.73 I-5 @ 196th St SW in Lynnwood N 47.819545 -122.279109 181.56 I-5 HOV Seattle-Lynnwood (NB PM) I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 1502667300000 25 2017-08-13 09:35:00
24 19 23 Lynnwood to Downtown Seattle 15.23 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 Lynnwood-Seattle (SB AM) I-5 @ 196th St SW in Lynnwood S 47.817269 -122.285137 181.06 I-5 1502667300000 26 2017-08-13 09:35:00
25 16 18 Downtown Seattle to Lynnwood 15.73 I-5 @ 196th St SW in Lynnwood N 47.819545 -122.279109 181.56 I-5 Seattle-Lynnwood (NB PM) I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 1502667300000 27 2017-08-13 09:35:00
26 0 0 Lynnwood to Downtown Seattle using express lan... 0.00 I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 HOV Lynnwood-Seattle (SB REV) I-5 @ 196th St SW in Lynnwood S 47.817269 -122.285137 181.06 I-5 1502667300000 28 2017-08-13 09:35:00
27 0 0 Lynnwood to Downtown Seattle using express lanes 0.00 I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 Lynnwood-Seattle (SB REV) I-5 @ 196th St SW in Lynnwood S 47.817269 -122.285137 181.06 I-5 1502667300000 29 2017-08-13 09:35:00
28 17 21 Renton to Downtown Seattle using HOV lanes 13.77 I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 HOV Renton-Seattle (NB AM) I-405 @ SR 167 in Renton S 47.467434 -122.219631 2.21 I-405 1502667300000 30 2017-08-13 09:35:00
29 15 14 Downtown Seattle to Renton using HOV lanes 13.61 I-405 @ SR 167 in Renton N 47.467434 -122.219631 2.21 I-405 HOV Seattle-Renton (SB PM) I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 1502667300000 31 2017-08-13 09:35:00
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
150 24 25 Camas to Rose Quarter 21.15 I-5 and I-84 JCT in Portland W 45.525600 -122.660460 0.45 I-84 Camas to Rose Quarter via 205 and I-84 SR14 and Union St in Camas W 45.580300 -122.385324 14.65 SR 14 1502667000000 361 2017-08-13 09:30:00
151 14 15 Clark County Fairgrounds to Delta Park 10.82 I-5 Delta Park in Portland S 45.603280 -122.683520 307.35 I-5 Clark County Fairgrounds to Delta Park I-5 SB and 179th St in Vancouver S 45.754301 -122.663841 9.77 I-5 1502667000000 362 2017-08-13 09:30:00
152 13 15 Clark County Fairgrounds to Portland Internati... 14.32 I-205 and Airport Way in Portland S 45.571880 -122.550940 24.77 I-205 Clark County Fairgrounds to Portland Internati... I-5 and 179th St in Vancouver S 45.754301 -122.663841 9.77 I-5 1502667000000 363 2017-08-13 09:30:00
153 19 20 Clark County Fairgrounds to Rose Quarter 15.66 I-5 and Rose Quarter in Portland S 45.536250 -122.667270 302.51 I-5 Clark County Fairgrounds to Rose Quarter I-5 and 179th St in Vancouver S 45.754301 -122.663841 9.77 I-5 1502667000000 364 2017-08-13 09:30:00
154 14 15 Delta Park to Clark County Fairgrounds 10.36 I-5 and 179th St in Vancouver N 45.754301 -122.663841 9.76 I-5 Delta Park to Clark County Fairgrounds Delta Park in Portland N 45.611460 -122.679000 307.90 I-5 1502667000000 365 2017-08-13 09:30:00
155 14 14 Fremont Bridge to Hazel Dell 9.28 I-5 and 78th St Hazel Dell in Vancouver N 45.676544 -122.664559 4.25 I-5 Fremont Bridge to Hazel Dell Fremont Bridge in Portland N 45.547310 -122.678900 303.47 I-5 1502667000000 366 2017-08-13 09:30:00
156 38 18 I-405-US 26 to Hazel Dell 12.71 I-5 and 78th St Hazel Dell in Vancouver N 45.676544 -122.664559 4.25 I-5 I-405-US 26 to Hazel Dell I-405/US26 in Portland N 45.516880 -122.688000 1.77 I-405 1502667000000 367 2017-08-13 09:30:00
157 7 7 I-84 to Mill Plain 7.02 Mill Plain in Vancouver N 45.621409 -122.559835 28.36 I-205 I-84 to Mill Plain via 205 I-84 in Portland N 45.534880 -122.565000 21.68 I-205 1502667000000 368 2017-08-13 09:30:00
158 16 16 Portland International Airport Exit to Clark C... 14.46 Clark County Fairgrounds N 45.754301 -122.663841 9.76 I-5 Portland International Airport Exit to Clark C... Portland International Airport Exit N 45.572100 -122.548000 24.92 I-205 1502667000000 369 2017-08-13 09:30:00
159 26 26 Rose Quarter to Camas 21.12 Camas E 45.580300 -122.385324 14.65 SR 14 Rose Quarter to Camas via 1-5 Rose Quarter in Portland N 45.536250 -122.667000 302.50 I-5 1502667000000 370 2017-08-13 09:30:00
160 23 23 Rose Quarter to Camas 20.97 Camas E 45.580300 -122.385324 14.65 SR 14 Rose Quarter to Camas via 1-84 Rose Quarter in Portland E 45.520480 -122.665000 0.10 I-84 1502667000000 371 2017-08-13 09:30:00
161 20 22 Rose Quarter to Clark County Fairgrounds 15.76 I-5 and 179th St in Vancouver N 45.754301 -122.663841 9.76 I-5 Rose Quarter to Clark County Fairgrounds via 1-5 Rose Quarter in Portland N 45.536250 -122.667000 302.50 I-5 1502667000000 372 2017-08-13 09:30:00
162 35 37 Tualatin OR to Salmon Creek WA 35.05 Salmon Creek WA N 45.707495 -122.631733 36.67 I-205 Tualatin OR to Salmon Creek WA - via 205 Tualatin OR N 45.372970 -122.730000 1.96 I-205 1502667000000 373 2017-08-13 09:30:00
163 35 34 Tualatin OR to Salmon Creek WA 28.34 I-5 and 134th St in Vancouver N 45.716985 -122.654515 7.30 I-5 Tualatin OR to Salmon Creek WA via 1-5 Tualatin OR in Portland N 45.353550 -122.765000 287.46 I-5 1502667000000 374 2017-08-13 09:30:00
164 8 12 63rd St to I-5/I-405 Jct. 8.03 I-5 and I-405 JCT in Portland S 45.556320 -122.679010 303.47 I-5 I-5 SB and 63rd to I-405 JCT North I-5 and 63rd in Vancouver S 45.668141 -122.666701 3.10 I-5 1502667000000 375 2017-08-13 09:30:00
165 11 17 63rd to US-26 West 12.14 US26 in Portland S 45.513480 -122.667930 1.77 I-405 I-5 SB and 63rd to US26 I-5 SB and 63rd in Vancouver S 45.668141 -122.666701 3.10 I-5 1502667000000 376 2017-08-13 09:30:00
166 10 11 I-5 and Fourth Plain to SR 502 10.26 I-5 and SR 502 N 45.781266 -122.672017 11.67 I-5 I-5 and Fourth Plain to SR 502 I-5 and Fourth Plain N 45.636340 -122.662113 1.41 I-5 1502667000000 377 2017-08-13 09:30:00
167 22 22 I-205 SB and 18th St to SR14 to I-5 to I-84 JCT 15.74 I-5 and I-84 JCT in Portland S 45.544850 -122.677070 302.17 I-5 I-205 SB and 18th St to SR14 to I-5 to I-84 JCT I-205 SB and 18th St to SR14 to I-5 in Vancouver S 45.628406 -122.559927 29.87 I-205 1502667000000 378 2017-08-13 09:30:00
168 16 17 I-205 SB and 18th St to I-84 to I-5 JCT 14.51 I-84 to I-5 JCT W 45.529760 -122.649230 0.45 I-84 I-205 SB and 18th St to I-84 to I-5 JCT I-205 SB and 18th St in Vancouver S 45.640957 -122.563394 29.87 I-205 1502667000000 379 2017-08-13 09:30:00
169 10 11 Federal Way (320th) to Tacoma Dome 9.55 I-5 @ Tacoma Dome MP 134 S 47.234857 -122.426813 134.09 005 Federal Way-Tacoma (SB PM) I-5 @ Federal Way VMS MP 145.22 S 47.315327 -122.297855 143.64 I-5 1502667300000 382 2017-08-13 09:35:00
170 21 21 SR14 and Cascade Pk to I-5 and I-84 JCT 14.90 I-5 and I-84 JCT in Portland S 45.532950 -122.666410 302.17 I-5 019 SR14 and Cascade Pk to I-5 and I-84 JCT SR14 and Cascade Park in Vancouver W 45.596111 -122.519722 7.72 SR 14 1502667000000 384 2017-08-13 09:30:00
171 18 18 SR14 and Cascade Pk to I-205 to I-5 and I-84 JCT 14.22 I-5 and I-84 JCT in Portland W 45.525600 -122.660460 0.45 I-84 020 SR14 and Cascade Pk to I-205 to I-5 and I-... SR14 and Cascade Park in Vancouver W 45.596111 -122.519722 7.72 SR 14 1502667000000 385 2017-08-13 09:30:00
172 9 9 EB SR 16 Olympic Dr WB To EB SR 16 Sprague EB ... 8.38 SR 16 @ Sprague EB On Ramp in Tacoma E 47.235191 -122.467893 1.00 SR 16 EB SR 16, Olympic Dr To I-5 Jct SR 16 @ Olympic Dr WB in Gig Harbor E 47.309330 -122.579790 11.07 SR 16 1502667300000 386 2017-08-13 09:35:00
173 3 3 EB SR 16 Olympic Dr WB To TNB-West 2.66 SR 16 @ TNB-West in Gig Harbor E 47.275660 -122.560450 8.41 SR 16 EB SR 16, Olympic Dr To TNB-West SR 16 @ Olympic Dr WB in Gig Harbor E 47.309330 -122.579790 11.07 SR 16 1502667300000 387 2017-08-13 09:35:00
174 17 17 SB I-5 Port of Tacoma To JBLM Main Gate 15.70 I-5 @ JBLM Main Gate S 47.104937 -122.585386 121.04 I-5 SB I-5, PoT To JBLM Main Gate I-5 @ PoT in Tacoma S 47.240541 -122.372755 136.74 I-5 1502667300000 388 2017-08-13 09:35:00
175 5 5 SB I-5 Port of Tacoma To SR 16 3.83 I-5 @ SR 16 in Tacoma S 47.230182 -122.449769 132.91 I-5 SB I-5, PoT To SR 16 I-5 @ PoT in Tacoma S 47.240541 -122.372755 136.74 I-5 1502667300000 389 2017-08-13 09:35:00
176 11 11 SB I-5 Port of Tacoma To SR 512 9.39 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 SB I-5, PoT To SR 512 I-5 @ PoT in Tacoma S 47.240541 -122.372755 136.74 I-5 1502667300000 390 2017-08-13 09:35:00
177 22 20 SB I-5 Pierce King County Line To JBLM Main Gate 18.37 I-5 @ JBLM Main Gate S 47.104937 -122.585386 121.04 I-5 SB I-5, PKCL To JBLM Main Gate I-5 @ Pierce King County Line S 47.255624 -122.331130 139.41 I-5 1502667300000 401 2017-08-13 09:35:00
178 9 8 SB I-5 Pierce King County Line To SR 16 6.50 I-5 @ SR 16 in Tacoma S 47.230182 -122.449769 132.91 I-5 SB I-5, PKCL To SR 16 I-5 @ Pierce King County Line S 47.255624 -122.331130 139.41 I-5 1502667300000 402 2017-08-13 09:35:00
179 15 14 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 SB I-5, PKCL To SR 512 I-5 @ Pierce King County Line S 47.255624 -122.331130 139.41 I-5 1502667300000 403 2017-08-13 09:35:00

180 rows × 20 columns

and the datatypes ...

In [29]:
wsdot_traffic_df.dtypes
Out[29]:
AverageTime                        int64
CurrentTime                        int64
Description                       object
Distance                         float64
EndPoint.Description              object
EndPoint.Direction                object
EndPoint.Latitude                float64
EndPoint.Longitude               float64
EndPoint.MilePost                float64
EndPoint.RoadName                 object
Name                              object
StartPoint.Description            object
StartPoint.Direction              object
StartPoint.Latitude              float64
StartPoint.Longitude             float64
StartPoint.MilePost              float64
StartPoint.RoadName               object
TimeUpdated                       object
TravelTimeID                       int64
Timestamp                 datetime64[ns]
dtype: object

Pretty good. The only objects left are strings.

Make a function to auto-cleanse the WSDOT datafames

In [30]:
# ----------------------------------------------------------------------
# FUNCTION: cleanseWSDOTtraffic
#   inputs: normalized dataframe, name of field to cleans
#  oytputs: same dataframe, with a new field that contains cleansed data, in datetime format.
import json
import pandas as pd
import os
from pandas.io.json import json_normalize
import datetime

def cleanseWSDOTdate(in_wsdot_traffic_df, Fieldname):
    in_wsdot_traffic_df[Fieldname] = in_wsdot_traffic_df[Fieldname].str.strip('/Date()')
    in_wsdot_traffic_df[Fieldname] = in_wsdot_traffic_df[Fieldname].str.split('-').str[0]
    
    NewFieldName = Fieldname+"_timestamp"
    
    in_wsdot_traffic_df[NewFieldName] = in_wsdot_traffic_df[Fieldname].apply(
      lambda x: datetime.datetime.fromtimestamp(int(x)/1000 - 7 * 3600).strftime('%Y-%m-%d %H:%M:%S'))

    in_wsdot_traffic_df[NewFieldName] = pd.to_datetime(in_wsdot_traffic_df[NewFieldName])
    return in_wsdot_traffic_df

Read another file, cleanse, inspect.

In [31]:
import json
import pandas as pd
import os
from pandas.io.json import json_normalize

jsondir = "/home/vagrant/json"
next_wsdot_traffic_filepath = jsondir + "/wsdot_traffic/2017-08-14-00-09-28"

with open(next_wsdot_traffic_filepath) as json_file:
  raw_json = json.load(json_file)

next_wsdot_traffic_df = json_normalize(raw_json)
clean_wsdot_traffic_df = cleanseWSDOTdate(next_wsdot_traffic_df, 'TimeUpdated')
clean_wsdot_traffic_df
Out[31]:
AverageTime CurrentTime Description Distance EndPoint.Description EndPoint.Direction EndPoint.Latitude EndPoint.Longitude EndPoint.MilePost EndPoint.RoadName Name StartPoint.Description StartPoint.Direction StartPoint.Latitude StartPoint.Longitude StartPoint.MilePost StartPoint.RoadName TimeUpdated TravelTimeID TimeUpdated_timestamp
0 30 33 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 HOV Everett-Seattle (SB AM) I-5 @ 41st St in Everett S 47.924280 -122.265480 192.55 I-5 1502669100000 2 2017-08-13 10:05:00
1 27 28 Downtown Seattle to Everett using HOV lanes 26.94 I-5 @ 41st St in Everett N 47.924280 -122.265480 192.77 I-5 HOV Seattle-Everett (NB PM) I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 1502669100000 3 2017-08-13 10:05:00
2 27 28 Downtown Seattle to Everett 26.94 I-5 @ 41st St in Everett N 47.924280 -122.265480 192.77 I-5 Seattle-Everett (NB PM) I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 1502669100000 4 2017-08-13 10:05:00
3 11 11 Downtown Bellevue to Issaquah 9.55 I-90 @ Front St in Issaquah E 47.541799 -122.037396 16.96 I-90 Bellevue-Issaquah (EB PM) I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 1502669100000 5 2017-08-13 10:05:00
4 11 11 Downtown Bellevue to Issaquah using HOV lanes 9.55 I-90 @ Front St in Issaquah E 47.541799 -122.037396 16.96 I-90 HOV Bellevue-Issaquah (EB PM) I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 1502669100000 6 2017-08-13 10:05:00
5 10 10 Issaquah to Downtown Bellevue using HOV lanes 9.48 I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 HOV Issaquah-Bellevue (WB AM) I-90 @ Front St in Issaquah W 47.541799 -122.037396 16.96 I-90 1502669100000 7 2017-08-13 10:05:00
6 12 13 Issaquah to Downtown Bellevue 9.48 I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 Issaquah-Bellevue (WB AM) I-90 @ Front St in Issaquah W 47.541799 -122.037396 16.96 I-90 1502669100000 8 2017-08-13 10:05:00
7 27 26 Downtown Bellevue to Everett 26.06 I-5 @ 41st St in Everett N 47.924280 -122.265480 192.77 I-5 Bellevue-Everett (NB PM) I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 1502669100000 9 2017-08-13 10:05:00
8 28 27 Everett to Downtown Bellevue 26.34 I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 Everett-Bellevue (SB AM) I-5 @ 41st St in Everett S 47.924280 -122.265480 192.55 I-5 1502669100000 10 2017-08-13 10:05:00
9 26 27 Downtown Bellevue to Everett using HOV lanes 26.06 I-5 @ 41st St in Everett N 47.924280 -122.265480 192.77 I-5 HOV Bellevue-Everett (NB PM) I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 1502669100000 11 2017-08-13 10:05:00
10 27 27 Everett to Downtown Bellevue using HOV lanes 26.34 I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 HOV Everett-Bellevue (SB AM) I-5 @ 41st St in Everett S 47.924280 -122.265480 192.55 I-5 1502669100000 12 2017-08-13 10:05:00
11 16 31 Federal Way to SeaTac 8.82 I-5 @ S 188th St in SeaTac N 47.438760 -122.269470 152.80 I-5 Federal Way-SeaTac (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 1502669100000 13 2017-08-13 10:05:00
12 10 10 Federal Way to SeaTac using HOV lanes 8.82 I-5 @ S 188th St in SeaTac N 47.438760 -122.269470 152.80 I-5 HOV Federal Way-SeaTac (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 1502669100000 14 2017-08-13 10:05:00
13 9 9 SeaTac to Federal Way using HOV lanes 9.16 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 HOV SeaTac-Federal Way (SB PM) I-5 @ S 188th St in SeaTac S 47.438760 -122.269470 152.80 I-5 1502669100000 15 2017-08-13 10:05:00
14 9 10 SeaTac to Federal Way 9.16 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 SeaTac-Federal Way (SB PM) I-5 @ S 188th St in SeaTac S 47.438760 -122.269470 152.80 I-5 1502669100000 16 2017-08-13 10:05:00
15 33 47 Federal Way to Downtown Seattle 22.15 I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 Federal Way-Seattle (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 1502669100000 17 2017-08-13 10:05:00
16 27 25 Federal Way to Downtown Seattle using HOV lanes 22.15 I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 HOV Federal Way-Seattle (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 1502669100000 18 2017-08-13 10:05:00
17 22 23 Downtown Seattle to Federal Way using HOV lanes 22.19 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 HOV Seattle-Federal Way (SB PM) I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 1502669100000 19 2017-08-13 10:05:00
18 22 22 Downtown Seattle to Federal Way 22.19 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 Seattle-Federal Way (SB PM) I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 1502669100000 20 2017-08-13 10:05:00
19 25 48 Downtown Bellevue to Federal Way 24.56 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 Bellevue-Federal Way (SB PM) I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 1502669100000 21 2017-08-13 10:05:00
20 34 49 Federal Way to Downtown Bellevue 23.58 I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 Federal Way-Bellevue (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 1502669100000 22 2017-08-13 10:05:00
21 25 32 Downtown Bellevue to Federal Way using HOV lanes 24.56 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 HOV Bellevue-Federal Way (SB PM) I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 1502669100000 23 2017-08-13 10:05:00
22 28 28 Federal Way to Downtown Bellevue using HOV lanes 23.58 I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 HOV Federal Way-Bellevue (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 1502669100000 24 2017-08-13 10:05:00
23 16 17 Downtown Seattle to Lynnwood using HOV lanes 15.73 I-5 @ 196th St SW in Lynnwood N 47.819545 -122.279109 181.56 I-5 HOV Seattle-Lynnwood (NB PM) I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 1502669100000 25 2017-08-13 10:05:00
24 19 22 Lynnwood to Downtown Seattle 15.23 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 Lynnwood-Seattle (SB AM) I-5 @ 196th St SW in Lynnwood S 47.817269 -122.285137 181.06 I-5 1502669100000 26 2017-08-13 10:05:00
25 16 17 Downtown Seattle to Lynnwood 15.73 I-5 @ 196th St SW in Lynnwood N 47.819545 -122.279109 181.56 I-5 Seattle-Lynnwood (NB PM) I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 1502669100000 27 2017-08-13 10:05:00
26 0 0 Lynnwood to Downtown Seattle using express lan... 0.00 I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 HOV Lynnwood-Seattle (SB REV) I-5 @ 196th St SW in Lynnwood S 47.817269 -122.285137 181.06 I-5 1502669100000 28 2017-08-13 10:05:00
27 0 0 Lynnwood to Downtown Seattle using express lanes 0.00 I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 Lynnwood-Seattle (SB REV) I-5 @ 196th St SW in Lynnwood S 47.817269 -122.285137 181.06 I-5 1502669100000 29 2017-08-13 10:05:00
28 17 20 Renton to Downtown Seattle using HOV lanes 13.77 I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 HOV Renton-Seattle (NB AM) I-405 @ SR 167 in Renton S 47.467434 -122.219631 2.21 I-405 1502669100000 30 2017-08-13 10:05:00
29 14 14 Downtown Seattle to Renton using HOV lanes 13.61 I-405 @ SR 167 in Renton N 47.467434 -122.219631 2.21 I-405 HOV Seattle-Renton (SB PM) I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 1502669100000 31 2017-08-13 10:05:00
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
150 27 27 Camas to Rose Quarter 21.15 I-5 and I-84 JCT in Portland W 45.525600 -122.660460 0.45 I-84 Camas to Rose Quarter via 205 and I-84 SR14 and Union St in Camas W 45.580300 -122.385324 14.65 SR 14 1502668800000 361 2017-08-13 10:00:00
151 14 15 Clark County Fairgrounds to Delta Park 10.82 I-5 Delta Park in Portland S 45.603280 -122.683520 307.35 I-5 Clark County Fairgrounds to Delta Park I-5 SB and 179th St in Vancouver S 45.754301 -122.663841 9.77 I-5 1502668800000 362 2017-08-13 10:00:00
152 13 14 Clark County Fairgrounds to Portland Internati... 14.32 I-205 and Airport Way in Portland S 45.571880 -122.550940 24.77 I-205 Clark County Fairgrounds to Portland Internati... I-5 and 179th St in Vancouver S 45.754301 -122.663841 9.77 I-5 1502668800000 363 2017-08-13 10:00:00
153 20 20 Clark County Fairgrounds to Rose Quarter 15.66 I-5 and Rose Quarter in Portland S 45.536250 -122.667270 302.51 I-5 Clark County Fairgrounds to Rose Quarter I-5 and 179th St in Vancouver S 45.754301 -122.663841 9.77 I-5 1502668800000 364 2017-08-13 10:00:00
154 14 15 Delta Park to Clark County Fairgrounds 10.36 I-5 and 179th St in Vancouver N 45.754301 -122.663841 9.76 I-5 Delta Park to Clark County Fairgrounds Delta Park in Portland N 45.611460 -122.679000 307.90 I-5 1502668800000 365 2017-08-13 10:00:00
155 14 14 Fremont Bridge to Hazel Dell 9.28 I-5 and 78th St Hazel Dell in Vancouver N 45.676544 -122.664559 4.25 I-5 Fremont Bridge to Hazel Dell Fremont Bridge in Portland N 45.547310 -122.678900 303.47 I-5 1502668800000 366 2017-08-13 10:00:00
156 41 17 I-405-US 26 to Hazel Dell 12.71 I-5 and 78th St Hazel Dell in Vancouver N 45.676544 -122.664559 4.25 I-5 I-405-US 26 to Hazel Dell I-405/US26 in Portland N 45.516880 -122.688000 1.77 I-405 1502668800000 367 2017-08-13 10:00:00
157 7 7 I-84 to Mill Plain 7.02 Mill Plain in Vancouver N 45.621409 -122.559835 28.36 I-205 I-84 to Mill Plain via 205 I-84 in Portland N 45.534880 -122.565000 21.68 I-205 1502668800000 368 2017-08-13 10:00:00
158 15 15 Portland International Airport Exit to Clark C... 14.46 Clark County Fairgrounds N 45.754301 -122.663841 9.76 I-5 Portland International Airport Exit to Clark C... Portland International Airport Exit N 45.572100 -122.548000 24.92 I-205 1502668800000 369 2017-08-13 10:00:00
159 26 26 Rose Quarter to Camas 21.12 Camas E 45.580300 -122.385324 14.65 SR 14 Rose Quarter to Camas via 1-5 Rose Quarter in Portland N 45.536250 -122.667000 302.50 I-5 1502668800000 370 2017-08-13 10:00:00
160 25 22 Rose Quarter to Camas 20.97 Camas E 45.580300 -122.385324 14.65 SR 14 Rose Quarter to Camas via 1-84 Rose Quarter in Portland E 45.520480 -122.665000 0.10 I-84 1502668800000 371 2017-08-13 10:00:00
161 20 21 Rose Quarter to Clark County Fairgrounds 15.76 I-5 and 179th St in Vancouver N 45.754301 -122.663841 9.76 I-5 Rose Quarter to Clark County Fairgrounds via 1-5 Rose Quarter in Portland N 45.536250 -122.667000 302.50 I-5 1502668800000 372 2017-08-13 10:00:00
162 36 36 Tualatin OR to Salmon Creek WA 35.05 Salmon Creek WA N 45.707495 -122.631733 36.67 I-205 Tualatin OR to Salmon Creek WA - via 205 Tualatin OR N 45.372970 -122.730000 1.96 I-205 1502668800000 373 2017-08-13 10:00:00
163 37 33 Tualatin OR to Salmon Creek WA 28.34 I-5 and 134th St in Vancouver N 45.716985 -122.654515 7.30 I-5 Tualatin OR to Salmon Creek WA via 1-5 Tualatin OR in Portland N 45.353550 -122.765000 287.46 I-5 1502668800000 374 2017-08-13 10:00:00
164 8 12 63rd St to I-5/I-405 Jct. 8.03 I-5 and I-405 JCT in Portland S 45.556320 -122.679010 303.47 I-5 I-5 SB and 63rd to I-405 JCT North I-5 and 63rd in Vancouver S 45.668141 -122.666701 3.10 I-5 1502668800000 375 2017-08-13 10:00:00
165 11 17 63rd to US-26 West 12.14 US26 in Portland S 45.513480 -122.667930 1.77 I-405 I-5 SB and 63rd to US26 I-5 SB and 63rd in Vancouver S 45.668141 -122.666701 3.10 I-5 1502668800000 376 2017-08-13 10:00:00
166 10 11 I-5 and Fourth Plain to SR 502 10.26 I-5 and SR 502 N 45.781266 -122.672017 11.67 I-5 I-5 and Fourth Plain to SR 502 I-5 and Fourth Plain N 45.636340 -122.662113 1.41 I-5 1502668800000 377 2017-08-13 10:00:00
167 23 22 I-205 SB and 18th St to SR14 to I-5 to I-84 JCT 15.74 I-5 and I-84 JCT in Portland S 45.544850 -122.677070 302.17 I-5 I-205 SB and 18th St to SR14 to I-5 to I-84 JCT I-205 SB and 18th St to SR14 to I-5 in Vancouver S 45.628406 -122.559927 29.87 I-205 1502668800000 378 2017-08-13 10:00:00
168 17 19 I-205 SB and 18th St to I-84 to I-5 JCT 14.51 I-84 to I-5 JCT W 45.529760 -122.649230 0.45 I-84 I-205 SB and 18th St to I-84 to I-5 JCT I-205 SB and 18th St in Vancouver S 45.640957 -122.563394 29.87 I-205 1502668800000 379 2017-08-13 10:00:00
169 10 11 Federal Way (320th) to Tacoma Dome 9.55 I-5 @ Tacoma Dome MP 134 S 47.234857 -122.426813 134.09 005 Federal Way-Tacoma (SB PM) I-5 @ Federal Way VMS MP 145.22 S 47.315327 -122.297855 143.64 I-5 1502669100000 382 2017-08-13 10:05:00
170 21 20 SR14 and Cascade Pk to I-5 and I-84 JCT 14.90 I-5 and I-84 JCT in Portland S 45.532950 -122.666410 302.17 I-5 019 SR14 and Cascade Pk to I-5 and I-84 JCT SR14 and Cascade Park in Vancouver W 45.596111 -122.519722 7.72 SR 14 1502668800000 384 2017-08-13 10:00:00
171 18 20 SR14 and Cascade Pk to I-205 to I-5 and I-84 JCT 14.22 I-5 and I-84 JCT in Portland W 45.525600 -122.660460 0.45 I-84 020 SR14 and Cascade Pk to I-205 to I-5 and I-... SR14 and Cascade Park in Vancouver W 45.596111 -122.519722 7.72 SR 14 1502668800000 385 2017-08-13 10:00:00
172 9 9 EB SR 16 Olympic Dr WB To EB SR 16 Sprague EB ... 8.38 SR 16 @ Sprague EB On Ramp in Tacoma E 47.235191 -122.467893 1.00 SR 16 EB SR 16, Olympic Dr To I-5 Jct SR 16 @ Olympic Dr WB in Gig Harbor E 47.309330 -122.579790 11.07 SR 16 1502669100000 386 2017-08-13 10:05:00
173 3 3 EB SR 16 Olympic Dr WB To TNB-West 2.66 SR 16 @ TNB-West in Gig Harbor E 47.275660 -122.560450 8.41 SR 16 EB SR 16, Olympic Dr To TNB-West SR 16 @ Olympic Dr WB in Gig Harbor E 47.309330 -122.579790 11.07 SR 16 1502669100000 387 2017-08-13 10:05:00
174 17 18 SB I-5 Port of Tacoma To JBLM Main Gate 15.70 I-5 @ JBLM Main Gate S 47.104937 -122.585386 121.04 I-5 SB I-5, PoT To JBLM Main Gate I-5 @ PoT in Tacoma S 47.240541 -122.372755 136.74 I-5 1502669100000 388 2017-08-13 10:05:00
175 5 5 SB I-5 Port of Tacoma To SR 16 3.83 I-5 @ SR 16 in Tacoma S 47.230182 -122.449769 132.91 I-5 SB I-5, PoT To SR 16 I-5 @ PoT in Tacoma S 47.240541 -122.372755 136.74 I-5 1502669100000 389 2017-08-13 10:05:00
176 11 11 SB I-5 Port of Tacoma To SR 512 9.39 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 SB I-5, PoT To SR 512 I-5 @ PoT in Tacoma S 47.240541 -122.372755 136.74 I-5 1502669100000 390 2017-08-13 10:05:00
177 21 21 SB I-5 Pierce King County Line To JBLM Main Gate 18.37 I-5 @ JBLM Main Gate S 47.104937 -122.585386 121.04 I-5 SB I-5, PKCL To JBLM Main Gate I-5 @ Pierce King County Line S 47.255624 -122.331130 139.41 I-5 1502669100000 401 2017-08-13 10:05:00
178 9 8 SB I-5 Pierce King County Line To SR 16 6.50 I-5 @ SR 16 in Tacoma S 47.230182 -122.449769 132.91 I-5 SB I-5, PKCL To SR 16 I-5 @ Pierce King County Line S 47.255624 -122.331130 139.41 I-5 1502669100000 402 2017-08-13 10:05:00
179 15 15 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 SB I-5, PKCL To SR 512 I-5 @ Pierce King County Line S 47.255624 -122.331130 139.41 I-5 1502669100000 403 2017-08-13 10:05:00

180 rows × 20 columns

Inspect the datatypes.

In [32]:
clean_wsdot_traffic_df.dtypes
Out[32]:
AverageTime                        int64
CurrentTime                        int64
Description                       object
Distance                         float64
EndPoint.Description              object
EndPoint.Direction                object
EndPoint.Latitude                float64
EndPoint.Longitude               float64
EndPoint.MilePost                float64
EndPoint.RoadName                 object
Name                              object
StartPoint.Description            object
StartPoint.Direction              object
StartPoint.Latitude              float64
StartPoint.Longitude             float64
StartPoint.MilePost              float64
StartPoint.RoadName               object
TimeUpdated                       object
TravelTimeID                       int64
TimeUpdated_timestamp     datetime64[ns]
dtype: object

Iterate over all WSDOT json files, assemble one large dataframe

In [33]:
top_folder = jsondir + "/wsdot_traffic"
first_time = True

for filename in os.listdir(top_folder):
    filepath = top_folder + "/" + filename

    with open(filepath) as json_file:
      raw_json = json.load(json_file)

    new_df = json_normalize(raw_json)
    
    if (first_time):
        first_time = False
        multi_traffic_df = new_df
    else:
        multi_traffic_df = multi_traffic_df.append(new_df, ignore_index=True)
    
clean_multi_traffic_df = cleanseWSDOTdate(multi_traffic_df, 'TimeUpdated')
clean_multi_traffic_df
Out[33]:
AverageTime CurrentTime Description Distance EndPoint.Description EndPoint.Direction EndPoint.Latitude EndPoint.Longitude EndPoint.MilePost EndPoint.RoadName Name StartPoint.Description StartPoint.Direction StartPoint.Latitude StartPoint.Longitude StartPoint.MilePost StartPoint.RoadName TimeUpdated TravelTimeID TimeUpdated_timestamp
0 43 46 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 HOV Everett-Seattle (SB AM) I-5 @ 41st St in Everett S 47.924280 -122.265480 192.55 I-5 1502805900000 2 2017-08-15 00:05:00
1 28 27 Downtown Seattle to Everett using HOV lanes 26.94 I-5 @ 41st St in Everett N 47.924280 -122.265480 192.77 I-5 HOV Seattle-Everett (NB PM) I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 1502805900000 3 2017-08-15 00:05:00
2 27 28 Downtown Seattle to Everett 26.94 I-5 @ 41st St in Everett N 47.924280 -122.265480 192.77 I-5 Seattle-Everett (NB PM) I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 1502805900000 4 2017-08-15 00:05:00
3 10 11 Downtown Bellevue to Issaquah 9.55 I-90 @ Front St in Issaquah E 47.541799 -122.037396 16.96 I-90 Bellevue-Issaquah (EB PM) I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 1502805900000 5 2017-08-15 00:05:00
4 11 10 Downtown Bellevue to Issaquah using HOV lanes 9.55 I-90 @ Front St in Issaquah E 47.541799 -122.037396 16.96 I-90 HOV Bellevue-Issaquah (EB PM) I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 1502805900000 6 2017-08-15 00:05:00
5 11 10 Issaquah to Downtown Bellevue using HOV lanes 9.48 I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 HOV Issaquah-Bellevue (WB AM) I-90 @ Front St in Issaquah W 47.541799 -122.037396 16.96 I-90 1502805900000 7 2017-08-15 00:05:00
6 12 12 Issaquah to Downtown Bellevue 9.48 I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 Issaquah-Bellevue (WB AM) I-90 @ Front St in Issaquah W 47.541799 -122.037396 16.96 I-90 1502805900000 8 2017-08-15 00:05:00
7 26 27 Downtown Bellevue to Everett 26.06 I-5 @ 41st St in Everett N 47.924280 -122.265480 192.77 I-5 Bellevue-Everett (NB PM) I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 1502805900000 9 2017-08-15 00:05:00
8 56 55 Everett to Downtown Bellevue 26.34 I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 Everett-Bellevue (SB AM) I-5 @ 41st St in Everett S 47.924280 -122.265480 192.55 I-5 1502805900000 10 2017-08-15 00:05:00
9 26 27 Downtown Bellevue to Everett using HOV lanes 26.06 I-5 @ 41st St in Everett N 47.924280 -122.265480 192.77 I-5 HOV Bellevue-Everett (NB PM) I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 1502805900000 11 2017-08-15 00:05:00
10 37 32 Everett to Downtown Bellevue using HOV lanes 26.34 I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 HOV Everett-Bellevue (SB AM) I-5 @ 41st St in Everett S 47.924280 -122.265480 192.55 I-5 1502805900000 12 2017-08-15 00:05:00
11 27 29 Federal Way to SeaTac 8.82 I-5 @ S 188th St in SeaTac N 47.438760 -122.269470 152.80 I-5 Federal Way-SeaTac (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 1502805900000 13 2017-08-15 00:05:00
12 20 18 Federal Way to SeaTac using HOV lanes 8.82 I-5 @ S 188th St in SeaTac N 47.438760 -122.269470 152.80 I-5 HOV Federal Way-SeaTac (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 1502805900000 14 2017-08-15 00:05:00
13 9 9 SeaTac to Federal Way using HOV lanes 9.16 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 HOV SeaTac-Federal Way (SB PM) I-5 @ S 188th St in SeaTac S 47.438760 -122.269470 152.80 I-5 1502805900000 15 2017-08-15 00:05:00
14 9 9 SeaTac to Federal Way 9.16 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 SeaTac-Federal Way (SB PM) I-5 @ S 188th St in SeaTac S 47.438760 -122.269470 152.80 I-5 1502805900000 16 2017-08-15 00:05:00
15 52 56 Federal Way to Downtown Seattle 22.15 I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 Federal Way-Seattle (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 1502805900000 17 2017-08-15 00:05:00
16 43 38 Federal Way to Downtown Seattle using HOV lanes 22.15 I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 HOV Federal Way-Seattle (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 1502805900000 18 2017-08-15 00:05:00
17 22 22 Downtown Seattle to Federal Way using HOV lanes 22.19 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 HOV Seattle-Federal Way (SB PM) I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 1502805900000 19 2017-08-15 00:05:00
18 23 22 Downtown Seattle to Federal Way 22.19 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 Seattle-Federal Way (SB PM) I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 1502805900000 20 2017-08-15 00:05:00
19 29 29 Downtown Bellevue to Federal Way 24.56 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 Bellevue-Federal Way (SB PM) I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 1502805900000 21 2017-08-15 00:05:00
20 66 65 Federal Way to Downtown Bellevue 23.58 I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 Federal Way-Bellevue (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 1502805900000 22 2017-08-15 00:05:00
21 25 26 Downtown Bellevue to Federal Way using HOV lanes 24.56 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 HOV Bellevue-Federal Way (SB PM) I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 1502805900000 23 2017-08-15 00:05:00
22 44 35 Federal Way to Downtown Bellevue using HOV lanes 23.58 I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 HOV Federal Way-Bellevue (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 1502805900000 24 2017-08-15 00:05:00
23 16 16 Downtown Seattle to Lynnwood using HOV lanes 15.73 I-5 @ 196th St SW in Lynnwood N 47.819545 -122.279109 181.56 I-5 HOV Seattle-Lynnwood (NB PM) I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 1502805900000 25 2017-08-15 00:05:00
24 36 35 Lynnwood to Downtown Seattle 15.23 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 Lynnwood-Seattle (SB AM) I-5 @ 196th St SW in Lynnwood S 47.817269 -122.285137 181.06 I-5 1502805900000 26 2017-08-15 00:05:00
25 16 17 Downtown Seattle to Lynnwood 15.73 I-5 @ 196th St SW in Lynnwood N 47.819545 -122.279109 181.56 I-5 Seattle-Lynnwood (NB PM) I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 1502805900000 27 2017-08-15 00:05:00
26 27 29 Lynnwood to Downtown Seattle using express lan... 15.23 I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 HOV Lynnwood-Seattle (SB REV) I-5 @ 196th St SW in Lynnwood S 47.817269 -122.285137 181.06 I-5 1502805900000 28 2017-08-15 00:05:00
27 33 33 Lynnwood to Downtown Seattle using express lanes 15.23 I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 Lynnwood-Seattle (SB REV) I-5 @ 196th St SW in Lynnwood S 47.817269 -122.285137 181.06 I-5 1502805900000 29 2017-08-15 00:05:00
28 23 23 Renton to Downtown Seattle using HOV lanes 13.77 I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 HOV Renton-Seattle (NB AM) I-405 @ SR 167 in Renton S 47.467434 -122.219631 2.21 I-405 1502805900000 30 2017-08-15 00:05:00
29 14 14 Downtown Seattle to Renton using HOV lanes 13.61 I-405 @ SR 167 in Renton N 47.467434 -122.219631 2.21 I-405 HOV Seattle-Renton (SB PM) I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 1502805900000 31 2017-08-15 00:05:00
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
70968 27 27 Camas to Rose Quarter 21.15 I-5 and I-84 JCT in Portland W 45.525600 -122.660460 0.45 I-84 Camas to Rose Quarter via 205 and I-84 SR14 and Union St in Camas W 45.580300 -122.385324 14.65 SR 14 1502821800000 361 2017-08-15 04:30:00
70969 11 16 Clark County Fairgrounds to Delta Park 10.82 I-5 Delta Park in Portland S 45.603280 -122.683520 307.35 I-5 Clark County Fairgrounds to Delta Park I-5 SB and 179th St in Vancouver S 45.754301 -122.663841 9.77 I-5 1502821800000 362 2017-08-15 04:30:00
70970 13 17 Clark County Fairgrounds to Portland Internati... 14.32 I-205 and Airport Way in Portland S 45.571880 -122.550940 24.77 I-205 Clark County Fairgrounds to Portland Internati... I-5 and 179th St in Vancouver S 45.754301 -122.663841 9.77 I-5 1502821800000 363 2017-08-15 04:30:00
70971 18 25 Clark County Fairgrounds to Rose Quarter 15.66 I-5 and Rose Quarter in Portland S 45.536250 -122.667270 302.51 I-5 Clark County Fairgrounds to Rose Quarter I-5 and 179th St in Vancouver S 45.754301 -122.663841 9.77 I-5 1502821800000 364 2017-08-15 04:30:00
70972 11 15 Delta Park to Clark County Fairgrounds 10.36 I-5 and 179th St in Vancouver N 45.754301 -122.663841 9.76 I-5 Delta Park to Clark County Fairgrounds Delta Park in Portland N 45.611460 -122.679000 307.90 I-5 1502821800000 365 2017-08-15 04:30:00
70973 10 14 Fremont Bridge to Hazel Dell 9.28 I-5 and 78th St Hazel Dell in Vancouver N 45.676544 -122.664559 4.25 I-5 Fremont Bridge to Hazel Dell Fremont Bridge in Portland N 45.547310 -122.678900 303.47 I-5 1502821800000 366 2017-08-15 04:30:00
70974 19 19 I-405-US 26 to Hazel Dell 12.71 I-5 and 78th St Hazel Dell in Vancouver N 45.676544 -122.664559 4.25 I-5 I-405-US 26 to Hazel Dell I-405/US26 in Portland N 45.516880 -122.688000 1.77 I-405 1502821800000 367 2017-08-15 04:30:00
70975 8 8 I-84 to Mill Plain 7.02 Mill Plain in Vancouver N 45.621409 -122.559835 28.36 I-205 I-84 to Mill Plain via 205 I-84 in Portland N 45.534880 -122.565000 21.68 I-205 1502821800000 368 2017-08-15 04:30:00
70976 15 15 Portland International Airport Exit to Clark C... 14.46 Clark County Fairgrounds N 45.754301 -122.663841 9.76 I-5 Portland International Airport Exit to Clark C... Portland International Airport Exit N 45.572100 -122.548000 24.92 I-205 1502821800000 369 2017-08-15 04:30:00
70977 23 27 Rose Quarter to Camas 21.12 Camas E 45.580300 -122.385324 14.65 SR 14 Rose Quarter to Camas via 1-5 Rose Quarter in Portland N 45.536250 -122.667000 302.50 I-5 1502821800000 370 2017-08-15 04:30:00
70978 26 25 Rose Quarter to Camas 20.97 Camas E 45.580300 -122.385324 14.65 SR 14 Rose Quarter to Camas via 1-84 Rose Quarter in Portland E 45.520480 -122.665000 0.10 I-84 1502821800000 371 2017-08-15 04:30:00
70979 17 21 Rose Quarter to Clark County Fairgrounds 15.76 I-5 and 179th St in Vancouver N 45.754301 -122.663841 9.76 I-5 Rose Quarter to Clark County Fairgrounds via 1-5 Rose Quarter in Portland N 45.536250 -122.667000 302.50 I-5 1502821800000 372 2017-08-15 04:30:00
70980 39 40 Tualatin OR to Salmon Creek WA 35.05 Salmon Creek WA N 45.707495 -122.631733 36.67 I-205 Tualatin OR to Salmon Creek WA - via 205 Tualatin OR N 45.372970 -122.730000 1.96 I-205 1502821800000 373 2017-08-15 04:30:00
70981 33 39 Tualatin OR to Salmon Creek WA 28.34 I-5 and 134th St in Vancouver N 45.716985 -122.654515 7.30 I-5 Tualatin OR to Salmon Creek WA via 1-5 Tualatin OR in Portland N 45.353550 -122.765000 287.46 I-5 1502821800000 374 2017-08-15 04:30:00
70982 10 16 63rd St to I-5/I-405 Jct. 8.03 I-5 and I-405 JCT in Portland S 45.556320 -122.679010 303.47 I-5 I-5 SB and 63rd to I-405 JCT North I-5 and 63rd in Vancouver S 45.668141 -122.666701 3.10 I-5 1502821800000 375 2017-08-15 04:30:00
70983 16 22 63rd to US-26 West 12.14 US26 in Portland S 45.513480 -122.667930 1.77 I-405 I-5 SB and 63rd to US26 I-5 SB and 63rd in Vancouver S 45.668141 -122.666701 3.10 I-5 1502821800000 376 2017-08-15 04:30:00
70984 10 11 I-5 and Fourth Plain to SR 502 10.26 I-5 and SR 502 N 45.781266 -122.672017 11.67 I-5 I-5 and Fourth Plain to SR 502 I-5 and Fourth Plain N 45.636340 -122.662113 1.41 I-5 1502821800000 377 2017-08-15 04:30:00
70985 25 28 I-205 SB and 18th St to SR14 to I-5 to I-84 JCT 15.74 I-5 and I-84 JCT in Portland S 45.544850 -122.677070 302.17 I-5 I-205 SB and 18th St to SR14 to I-5 to I-84 JCT I-205 SB and 18th St to SR14 to I-5 in Vancouver S 45.628406 -122.559927 29.87 I-205 1502821800000 378 2017-08-15 04:30:00
70986 17 21 I-205 SB and 18th St to I-84 to I-5 JCT 14.51 I-84 to I-5 JCT W 45.529760 -122.649230 0.45 I-84 I-205 SB and 18th St to I-84 to I-5 JCT I-205 SB and 18th St in Vancouver S 45.640957 -122.563394 29.87 I-205 1502821800000 379 2017-08-15 04:30:00
70987 34 0 Federal Way (320th) to Tacoma Dome 0.00 I-5 @ Tacoma Dome MP 134 S 47.234857 -122.426813 134.09 005 Federal Way-Tacoma (SB PM) I-5 @ Federal Way VMS MP 145.22 S 47.315327 -122.297855 143.64 I-5 1502822100000 382 2017-08-15 04:35:00
70988 23 25 SR14 and Cascade Pk to I-5 and I-84 JCT 14.90 I-5 and I-84 JCT in Portland S 45.532950 -122.666410 302.17 I-5 019 SR14 and Cascade Pk to I-5 and I-84 JCT SR14 and Cascade Park in Vancouver W 45.596111 -122.519722 7.72 SR 14 1502821800000 384 2017-08-15 04:30:00
70989 19 20 SR14 and Cascade Pk to I-205 to I-5 and I-84 JCT 14.22 I-5 and I-84 JCT in Portland W 45.525600 -122.660460 0.45 I-84 020 SR14 and Cascade Pk to I-205 to I-5 and I-... SR14 and Cascade Park in Vancouver W 45.596111 -122.519722 7.72 SR 14 1502821800000 385 2017-08-15 04:30:00
70990 9 9 EB SR 16 Olympic Dr WB To EB SR 16 Sprague EB ... 8.38 SR 16 @ Sprague EB On Ramp in Tacoma E 47.235191 -122.467893 1.00 SR 16 EB SR 16, Olympic Dr To I-5 Jct SR 16 @ Olympic Dr WB in Gig Harbor E 47.309330 -122.579790 11.07 SR 16 1502822100000 386 2017-08-15 04:35:00
70991 3 3 EB SR 16 Olympic Dr WB To TNB-West 2.66 SR 16 @ TNB-West in Gig Harbor E 47.275660 -122.560450 8.41 SR 16 EB SR 16, Olympic Dr To TNB-West SR 16 @ Olympic Dr WB in Gig Harbor E 47.309330 -122.579790 11.07 SR 16 1502822100000 387 2017-08-15 04:35:00
70992 19 19 SB I-5 Port of Tacoma To JBLM Main Gate 15.70 I-5 @ JBLM Main Gate S 47.104937 -122.585386 121.04 I-5 SB I-5, PoT To JBLM Main Gate I-5 @ PoT in Tacoma S 47.240541 -122.372755 136.74 I-5 1502822100000 388 2017-08-15 04:35:00
70993 6 6 SB I-5 Port of Tacoma To SR 16 3.83 I-5 @ SR 16 in Tacoma S 47.230182 -122.449769 132.91 I-5 SB I-5, PoT To SR 16 I-5 @ PoT in Tacoma S 47.240541 -122.372755 136.74 I-5 1502822100000 389 2017-08-15 04:35:00
70994 12 12 SB I-5 Port of Tacoma To SR 512 9.39 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 SB I-5, PoT To SR 512 I-5 @ PoT in Tacoma S 47.240541 -122.372755 136.74 I-5 1502822100000 390 2017-08-15 04:35:00
70995 26 22 SB I-5 Pierce King County Line To JBLM Main Gate 18.37 I-5 @ JBLM Main Gate S 47.104937 -122.585386 121.04 I-5 SB I-5, PKCL To JBLM Main Gate I-5 @ Pierce King County Line S 47.255624 -122.331130 139.41 I-5 1502822100000 401 2017-08-15 04:35:00
70996 12 8 SB I-5 Pierce King County Line To SR 16 6.50 I-5 @ SR 16 in Tacoma S 47.230182 -122.449769 132.91 I-5 SB I-5, PKCL To SR 16 I-5 @ Pierce King County Line S 47.255624 -122.331130 139.41 I-5 1502822100000 402 2017-08-15 04:35:00
70997 19 15 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 SB I-5, PKCL To SR 512 I-5 @ Pierce King County Line S 47.255624 -122.331130 139.41 I-5 1502822100000 403 2017-08-15 04:35:00

70998 rows × 20 columns

In [34]:
clean_multi_traffic_df.shape
Out[34]:
(70998, 20)

WSDOT Weather Data

The WSDOT Weather JSON files have a very similar structure to the traffic ones, so the processing pipeline is aobut the same. We're going to skip a few steps for brevity here. If you'd like to see a more gradual exploration of the data, scroll back up to the section on WSDOT Traffice Data

As before, get our bearings by listing the directory and reading a file. We'll through in a couple echo commands for some whitespace.

In [35]:
!ls -1 $jsondir/wsdot_weather | head

! echo ""
! echo ""

!head $jsondir/wsdot_weather/2017-08-13-23-37-10
2017-08-13-23-37-10
2017-08-14-00-07-10
2017-08-14-00-37-10
2017-08-14-01-07-10
2017-08-14-01-37-10
2017-08-14-02-07-10
2017-08-14-02-37-10
2017-08-14-03-07-11
2017-08-14-03-37-11
2017-08-14-04-07-11


[{"BarometricPressure":1010.10,"Latitude":47.474800000,"Longitude":-122.270400000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502667002000-0700)\/","RelativeHumidity":59,"SkyCoverage":"N\/A","StationID":1909,"StationName":"SB I-5 144th","TemperatureInFahrenheit":71.00,"Visibility":null,"WindDirection":355,"WindDirectionCardinal":"N","WindGustSpeedInMPH":12,"WindSpeedInMPH":7},{"BarometricPressure":1014.80,"Latitude":47.760632547,"Longitude":-122.184047830,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502667016000-0700)\/","RelativeHumidity":57,"SkyCoverage":"N\/A","StationID":1910,"StationName":"SB I-405 N.E. 195th","TemperatureInFahrenheit":68.00,"Visibility":null,"WindDirection":65,"WindDirectionCardinal":"NE","WindGustSpeedInMPH":9,"WindSpeedInMPH":2},{"BarometricPressure":981.50,"Latitude":47.509000000,"Longitude":-121.885000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502667008000-0700)\/","RelativeHumidity":67,"SkyCoverage":"N\/A","StationID":1928,"StationName":"EB I-90 @ SR-18 Echo Lake","TemperatureInFahrenheit":68.00,"Visibility":null,"WindDirection":125,"WindDirectionCardinal":"SE","WindGustSpeedInMPH":6,"WindSpeedInMPH":2},{"BarometricPressure":1002.60,"Latitude":47.726000000,"Longitude":-122.324000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502667001000-0700)\/","RelativeHumidity":64,"SkyCoverage":"N\/A","StationID":1966,"StationName":"130th Street","TemperatureInFahrenheit":67.00,"Visibility":null,"WindDirection":235,"WindDirectionCardinal":"SW","WindGustSpeedInMPH":0,"WindSpeedInMPH":0},{"BarometricPressure":null,"Latitude":46.436000000,"Longitude":-117.350000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666981000-0700)\/","RelativeHumidity":46,"SkyCoverage":"N\/A","StationID":1968,"StationName":"Alpowa Summit","TemperatureInFahrenheit":71.00,"Visibility":null,"WindDirection":260,"WindDirectionCardinal":"W","WindGustSpeedInMPH":16,"WindSpeedInMPH":9},{"BarometricPressure":null,"Latitude":47.033800000,"Longitude":-123.097100000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502667000000-0700)\/","RelativeHumidity":52,"SkyCoverage":"N\/A","StationID":1970,"StationName":"Rock Candy Mountain","TemperatureInFahrenheit":70.00,"Visibility":null,"WindDirection":181,"WindDirectionCardinal":"S","WindGustSpeedInMPH":17,"WindSpeedInMPH":4},{"BarometricPressure":null,"Latitude":47.555500000,"Longitude":-120.586600000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666776000-0700)\/","RelativeHumidity":26,"SkyCoverage":"N\/A","StationID":1972,"StationName":"Dryden Road","TemperatureInFahrenheit":84.00,"Visibility":null,"WindDirection":0,"WindDirectionCardinal":"N","WindGustSpeedInMPH":12,"WindSpeedInMPH":5},{"BarometricPressure":null,"Latitude":47.269100000,"Longitude":-121.239200000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666732000-0700)\/","RelativeHumidity":49,"SkyCoverage":"N\/A","StationID":1973,"StationName":"Easton Hill","TemperatureInFahrenheit":66.00,"Visibility":null,"WindDirection":5,"WindDirectionCardinal":"N","WindGustSpeedInMPH":16,"WindSpeedInMPH":5},{"BarometricPressure":null,"Latitude":48.070300000,"Longitude":-124.049000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666845000-0700)\/","RelativeHumidity":42,"SkyCoverage":"N\/A","StationID":1975,"StationName":"Heckelville Shed","TemperatureInFahrenheit":61.00,"Visibility":null,"WindDirection":45,"WindDirectionCardinal":"NE","WindGustSpeedInMPH":13,"WindSpeedInMPH":7},{"BarometricPressure":null,"Latitude":46.887000000,"Longitude":-120.427000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666499000-0700)\/","RelativeHumidity":99,"SkyCoverage":"N\/A","StationID":1977,"StationName":"Manastash Ridge Eastbound","TemperatureInFahrenheit":70.00,"Visibility":null,"WindDirection":325,"WindDirectionCardinal":"NE","WindGustSpeedInMPH":28,"WindSpeedInMPH":20},{"BarometricPressure":null,"Latitude":46.928000000,"Longitude":-120.500000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666515000-0700)\/","RelativeHumidity":36,"SkyCoverage":"N\/A","StationID":1978,"StationName":"Manastash Ridge Westbound","TemperatureInFahrenheit":74.00,"Visibility":null,"WindDirection":285,"WindDirectionCardinal":"W","WindGustSpeedInMPH":29,"WindSpeedInMPH":20},{"BarometricPressure":null,"Latitude":47.305081700,"Longitude":-121.305688200,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666726000-0700)\/","RelativeHumidity":46,"SkyCoverage":"N\/A","StationID":1979,"StationName":"Stampede Overpass","TemperatureInFahrenheit":69.00,"Visibility":null,"WindDirection":231,"WindDirectionCardinal":"SW","WindGustSpeedInMPH":15,"WindSpeedInMPH":2},{"BarometricPressure":null,"Latitude":47.078000000,"Longitude":-120.724000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666472000-0700)\/","RelativeHumidity":35,"SkyCoverage":"N\/A","StationID":1980,"StationName":"Rocky Canyon","TemperatureInFahrenheit":75.00,"Visibility":null,"WindDirection":305,"WindDirectionCardinal":"NE","WindGustSpeedInMPH":31,"WindSpeedInMPH":21},{"BarometricPressure":null,"Latitude":46.943000000,"Longitude":-120.165000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666528000-0700)\/","RelativeHumidity":24,"SkyCoverage":"N\/A","StationID":1981,"StationName":"Ryegrass Summit","TemperatureInFahrenheit":72.00,"Visibility":null,"WindDirection":185,"WindDirectionCardinal":"S","WindGustSpeedInMPH":39,"WindSpeedInMPH":32},{"BarometricPressure":996.50,"Latitude":48.688000000,"Longitude":-122.400000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502667014000-0700)\/","RelativeHumidity":55,"SkyCoverage":"N\/A","StationID":1982,"StationName":"Lake Samish Park and Ride","TemperatureInFahrenheit":69.00,"Visibility":null,"WindDirection":95,"WindDirectionCardinal":"E","WindGustSpeedInMPH":11,"WindSpeedInMPH":4},{"BarometricPressure":null,"Latitude":47.745900000,"Longitude":-121.089100000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666771000-0700)\/","RelativeHumidity":null,"SkyCoverage":"N\/A","StationID":1984,"StationName":"Stevens Pass","TemperatureInFahrenheit":null,"Visibility":null,"WindDirection":null,"WindDirectionCardinal":"N\/A","WindGustSpeedInMPH":null,"WindSpeedInMPH":null},{"BarometricPressure":1013.70,"Latitude":48.992000000,"Longitude":-122.272000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502667018000-0700)\/","RelativeHumidity":49,"SkyCoverage":"N\/A","StationID":1985,"StationName":"SUMAS SR 9 AT FRONT ST (SR 547)","TemperatureInFahrenheit":72.00,"Visibility":null,"WindDirection":0,"WindDirectionCardinal":"N","WindGustSpeedInMPH":15,"WindSpeedInMPH":6},{"BarometricPressure":null,"Latitude":47.043000000,"Longitude":-119.916000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502667004000-0700)\/","RelativeHumidity":26,"SkyCoverage":"N\/A","StationID":1987,"StationName":"Silica Road","TemperatureInFahrenheit":80.00,"Visibility":null,"WindDirection":280,"WindDirectionCardinal":"W","WindGustSpeedInMPH":28,"WindSpeedInMPH":16},{"BarometricPressure":null,"Latitude":47.085000000,"Longitude":-119.006000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502667010000-0700)\/","RelativeHumidity":40,"SkyCoverage":"N\/A","StationID":1988,"StationName":"Warden Interchange","TemperatureInFahrenheit":81.00,"Visibility":null,"WindDirection":170,"WindDirectionCardinal":"S","WindGustSpeedInMPH":18,"WindSpeedInMPH":11},{"BarometricPressure":null,"Latitude":47.113000000,"Longitude":-120.786000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666522000-0700)\/","RelativeHumidity":99,"SkyCoverage":"N\/A","StationID":1989,"StationName":"Elk Heights","TemperatureInFahrenheit":69.00,"Visibility":null,"WindDirection":245,"WindDirectionCardinal":"SW","WindGustSpeedInMPH":21,"WindSpeedInMPH":9},{"BarometricPressure":null,"Latitude":48.050400000,"Longitude":-122.952300000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502663594000-0700)\/","RelativeHumidity":47,"SkyCoverage":"N\/A","StationID":2044,"StationName":"Diamond Point","TemperatureInFahrenheit":65.00,"Visibility":null,"WindDirection":290,"WindDirectionCardinal":"W","WindGustSpeedInMPH":18,"WindSpeedInMPH":10},{"BarometricPressure":null,"Latitude":48.093800000,"Longitude":-123.278300000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502667004000-0700)\/","RelativeHumidity":68,"SkyCoverage":"N\/A","StationID":2045,"StationName":"Seibert Creek Bridge","TemperatureInFahrenheit":61.00,"Visibility":null,"WindDirection":239,"WindDirectionCardinal":"SW","WindGustSpeedInMPH":26,"WindSpeedInMPH":13},{"BarometricPressure":null,"Latitude":47.443500000,"Longitude":-121.669400000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666721000-0700)\/","RelativeHumidity":42,"SkyCoverage":"N\/A","StationID":2068,"StationName":"Snoqualmie River Bridge","TemperatureInFahrenheit":67.00,"Visibility":null,"WindDirection":210,"WindDirectionCardinal":"SW","WindGustSpeedInMPH":6,"WindSpeedInMPH":2},{"BarometricPressure":994.80,"Latitude":47.473000000,"Longitude":-121.742000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502667011000-0700)\/","RelativeHumidity":null,"SkyCoverage":"N\/A","StationID":2069,"StationName":"WB I-90 near Tanner Crossing","TemperatureInFahrenheit":null,"Visibility":null,"WindDirection":null,"WindDirectionCardinal":"N\/A","WindGustSpeedInMPH":null,"WindSpeedInMPH":null},{"BarometricPressure":null,"Latitude":47.427000000,"Longitude":-121.418000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666572000-0700)\/","RelativeHumidity":50,"SkyCoverage":"N\/A","StationID":2085,"StationName":"Alpental Exit","TemperatureInFahrenheit":60.00,"Visibility":null,"WindDirection":0,"WindDirectionCardinal":"N","WindGustSpeedInMPH":13,"WindSpeedInMPH":9},{"BarometricPressure":null,"Latitude":47.334800000,"Longitude":-120.577100000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666766000-0700)\/","RelativeHumidity":41,"SkyCoverage":"N\/A","StationID":2108,"StationName":"Blewett Pass","TemperatureInFahrenheit":68.00,"Visibility":null,"WindDirection":270,"WindDirectionCardinal":"W","WindGustSpeedInMPH":9,"WindSpeedInMPH":2},{"BarometricPressure":null,"Latitude":46.638000000,"Longitude":-121.390000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666534000-0700)\/","RelativeHumidity":68,"SkyCoverage":"N\/A","StationID":2139,"StationName":"White Pass Summit","TemperatureInFahrenheit":56.00,"Visibility":null,"WindDirection":90,"WindDirectionCardinal":"E","WindGustSpeedInMPH":13,"WindSpeedInMPH":4},{"BarometricPressure":null,"Latitude":47.301900000,"Longitude":-120.067800000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666822000-0700)\/","RelativeHumidity":24,"SkyCoverage":"N\/A","StationID":2173,"StationName":"Palisades","TemperatureInFahrenheit":84.00,"Visibility":null,"WindDirection":15,"WindDirectionCardinal":"N","WindGustSpeedInMPH":21,"WindSpeedInMPH":13},{"BarometricPressure":null,"Latitude":47.233100000,"Longitude":-119.958200000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666828000-0700)\/","RelativeHumidity":83,"SkyCoverage":"N\/A","StationID":2174,"StationName":"Quincy Rest Area","TemperatureInFahrenheit":82.00,"Visibility":null,"WindDirection":145,"WindDirectionCardinal":"SE","WindGustSpeedInMPH":13,"WindSpeedInMPH":7},{"BarometricPressure":null,"Latitude":47.815600000,"Longitude":-119.363000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666882000-0700)\/","RelativeHumidity":23,"SkyCoverage":"N\/A","StationID":2175,"StationName":"Mansfield","TemperatureInFahrenheit":79.00,"Visibility":null,"WindDirection":235,"WindDirectionCardinal":"SW","WindGustSpeedInMPH":0,"WindSpeedInMPH":0},{"BarometricPressure":1032.00,"Latitude":47.972300000,"Longitude":-119.197000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666272000-0700)\/","RelativeHumidity":20,"SkyCoverage":"N\/A","StationID":2176,"StationName":"Coulee Dam West","TemperatureInFahrenheit":79.00,"Visibility":null,"WindDirection":5,"WindDirectionCardinal":"N","WindGustSpeedInMPH":25,"WindSpeedInMPH":12},{"BarometricPressure":null,"Latitude":48.500400000,"Longitude":-119.508878000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502665323000-0700)\/","RelativeHumidity":21,"SkyCoverage":"N\/A","StationID":2177,"StationName":"Riverside","TemperatureInFahrenheit":87.00,"Visibility":null,"WindDirection":240,"WindDirectionCardinal":"SW","WindGustSpeedInMPH":14,"WindSpeedInMPH":8},{"BarometricPressure":1032.60,"Latitude":48.078400000,"Longitude":-120.011300000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502665260000-0700)\/","RelativeHumidity":18,"SkyCoverage":"N\/A","StationID":2178,"StationName":"Methow","TemperatureInFahrenheit":90.00,"Visibility":null,"WindDirection":85,"WindDirectionCardinal":"E","WindGustSpeedInMPH":15,"WindSpeedInMPH":8},{"BarometricPressure":null,"Latitude":47.253100000,"Longitude":-120.693200000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666912000-0700)\/","RelativeHumidity":5,"SkyCoverage":"N\/A","StationID":2179,"StationName":"South Blewett","TemperatureInFahrenheit":69.00,"Visibility":null,"WindDirection":185,"WindDirectionCardinal":"S","WindGustSpeedInMPH":1,"WindSpeedInMPH":1},{"BarometricPressure":null,"Latitude":47.527000000,"Longitude":-120.483800000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666814000-0700)\/","RelativeHumidity":22,"SkyCoverage":"N\/A","StationID":2180,"StationName":"Cashmere","TemperatureInFahrenheit":83.00,"Visibility":null,"WindDirection":125,"WindDirectionCardinal":"SE","WindGustSpeedInMPH":22,"WindSpeedInMPH":8},{"BarometricPressure":null,"Latitude":47.650400000,"Longitude":-120.147500000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666919000-0700)\/","RelativeHumidity":35,"SkyCoverage":"N\/A","StationID":2194,"StationName":"Waterville","TemperatureInFahrenheit":75.00,"Visibility":null,"WindDirection":220,"WindDirectionCardinal":"SW","WindGustSpeedInMPH":18,"WindSpeedInMPH":11},{"BarometricPressure":825.40,"Latitude":48.998300000,"Longitude":-118.224500000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666103000-0700)\/","RelativeHumidity":46,"SkyCoverage":"N\/A","StationID":2248,"StationName":"Laurier","TemperatureInFahrenheit":75.00,"Visibility":null,"WindDirection":170,"WindDirectionCardinal":"S","WindGustSpeedInMPH":17,"WindSpeedInMPH":11},{"BarometricPressure":916.90,"Latitude":48.608000000,"Longitude":-118.479000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666209000-0700)\/","RelativeHumidity":73,"SkyCoverage":"N\/A","StationID":2249,"StationName":"Sherman Pass","TemperatureInFahrenheit":56.00,"Visibility":null,"WindDirection":125,"WindDirectionCardinal":"SE","WindGustSpeedInMPH":14,"WindSpeedInMPH":5},{"BarometricPressure":null,"Latitude":47.367200000,"Longitude":-119.488500000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666207000-0700)\/","RelativeHumidity":27,"SkyCoverage":"N\/A","StationID":2251,"StationName":"Soap Lake","TemperatureInFahrenheit":85.00,"Visibility":null,"WindDirection":300,"WindDirectionCardinal":"NE","WindGustSpeedInMPH":18,"WindSpeedInMPH":12},{"BarometricPressure":null,"Latitude":46.955600000,"Longitude":-119.948500000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502667016000-0700)\/","RelativeHumidity":20,"SkyCoverage":"N\/A","StationID":2253,"StationName":"Vantage","TemperatureInFahrenheit":82.00,"Visibility":null,"WindDirection":245,"WindDirectionCardinal":"SW","WindGustSpeedInMPH":28,"WindSpeedInMPH":21},{"BarometricPressure":null,"Latitude":48.661000000,"Longitude":-119.198000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502665419000-0700)\/","RelativeHumidity":null,"SkyCoverage":"N\/A","StationID":2254,"StationName":"Aeneas Valley Rd","TemperatureInFahrenheit":null,"Visibility":null,"WindDirection":null,"WindDirectionCardinal":"N\/A","WindGustSpeedInMPH":null,"WindSpeedInMPH":null},{"BarometricPressure":null,"Latitude":48.661000000,"Longitude":-118.835000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666278000-0700)\/","RelativeHumidity":38,"SkyCoverage":"N\/A","StationID":2255,"StationName":"Ferry County Line","TemperatureInFahrenheit":74.00,"Visibility":null,"WindDirection":0,"WindDirectionCardinal":"N","WindGustSpeedInMPH":8,"WindSpeedInMPH":3},{"BarometricPressure":null,"Latitude":47.789000000,"Longitude":-120.134000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666862000-0700)\/","RelativeHumidity":30,"SkyCoverage":"N\/A","StationID":2256,"StationName":"Knapps Tunnel","TemperatureInFahrenheit":80.00,"Visibility":null,"WindDirection":205,"WindDirectionCardinal":"SW","WindGustSpeedInMPH":18,"WindSpeedInMPH":6},{"BarometricPressure":null,"Latitude":48.202000000,"Longitude":-119.004000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666286000-0700)\/","RelativeHumidity":19,"SkyCoverage":"N\/A","StationID":2279,"StationName":"Nespelem","TemperatureInFahrenheit":82.00,"Visibility":null,"WindDirection":140,"WindDirectionCardinal":"SE","WindGustSpeedInMPH":22,"WindSpeedInMPH":9},{"BarometricPressure":null,"Latitude":46.934300000,"Longitude":-123.728200000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502665850000-0700)\/","RelativeHumidity":87,"SkyCoverage":"N\/A","StationID":2280,"StationName":"Cosmopolis Hill","TemperatureInFahrenheit":65.00,"Visibility":null,"WindDirection":210,"WindDirectionCardinal":"SW","WindGustSpeedInMPH":12,"WindSpeedInMPH":5},{"BarometricPressure":null,"Latitude":47.140200000,"Longitude":-123.892200000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502664980000-0700)\/","RelativeHumidity":58,"SkyCoverage":"N\/A","StationID":2281,"StationName":"State Camp Hill","TemperatureInFahrenheit":70.00,"Visibility":null,"WindDirection":50,"WindDirectionCardinal":"NE","WindGustSpeedInMPH":11,"WindSpeedInMPH":3},{"BarometricPressure":983.90,"Latitude":45.698100000,"Longitude":-120.814700000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666746000-0700)\/","RelativeHumidity":45,"SkyCoverage":"N\/A","StationID":2282,"StationName":"Maryhill","TemperatureInFahrenheit":75.00,"Visibility":null,"WindDirection":5,"WindDirectionCardinal":"N","WindGustSpeedInMPH":38,"WindSpeedInMPH":28},{"BarometricPressure":852.50,"Latitude":48.028400000,"Longitude":-117.598100000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666893000-0700)\/","RelativeHumidity":53,"SkyCoverage":"N\/A","StationID":2686,"StationName":"Clayton Rd","TemperatureInFahrenheit":72.00,"Visibility":null,"WindDirection":95,"WindDirectionCardinal":"E","WindGustSpeedInMPH":11,"WindSpeedInMPH":4},{"BarometricPressure":null,"Latitude":47.653100000,"Longitude":-117.392000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666442000-0700)\/","RelativeHumidity":56,"SkyCoverage":"N\/A","StationID":2687,"StationName":"Perry Curves","TemperatureInFahrenheit":76.00,"Visibility":null,"WindDirection":195,"WindDirectionCardinal":"S","WindGustSpeedInMPH":9,"WindSpeedInMPH":6},{"BarometricPressure":null,"Latitude":47.777300000,"Longitude":-117.544000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666378000-0700)\/","RelativeHumidity":45,"SkyCoverage":"N\/A","StationID":2688,"StationName":"SR 291 Nine Mile","TemperatureInFahrenheit":76.00,"Visibility":null,"WindDirection":135,"WindDirectionCardinal":"SE","WindGustSpeedInMPH":16,"WindSpeedInMPH":8},{"BarometricPressure":null,"Latitude":47.787100000,"Longitude":-117.406700000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502663592000-0700)\/","RelativeHumidity":54,"SkyCoverage":"N\/A","StationID":2689,"StationName":"SR 395 @ Hasting Rd.","TemperatureInFahrenheit":75.00,"Visibility":null,"WindDirection":180,"WindDirectionCardinal":"S","WindGustSpeedInMPH":12,"WindSpeedInMPH":6},{"BarometricPressure":null,"Latitude":47.438400000,"Longitude":-117.788300000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666634000-0700)\/","RelativeHumidity":51,"SkyCoverage":"N\/A","StationID":2690,"StationName":"Tyler Road (SR 904 Inter)","TemperatureInFahrenheit":75.00,"Visibility":null,"WindDirection":145,"WindDirectionCardinal":"SE","WindGustSpeedInMPH":16,"WindSpeedInMPH":10},{"BarometricPressure":null,"Latitude":47.638600000,"Longitude":-117.362000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666289000-0700)\/","RelativeHumidity":57,"SkyCoverage":"N\/A","StationID":2693,"StationName":"Garden Springs at 277","TemperatureInFahrenheit":74.00,"Visibility":null,"WindDirection":165,"WindDirectionCardinal":"S","WindGustSpeedInMPH":18,"WindSpeedInMPH":9},{"BarometricPressure":null,"Latitude":47.294900000,"Longitude":-117.337000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666290000-0700)\/","RelativeHumidity":56,"SkyCoverage":"N\/A","StationID":2694,"StationName":"Medical Lake at 272","TemperatureInFahrenheit":73.00,"Visibility":null,"WindDirection":190,"WindDirectionCardinal":"S","WindGustSpeedInMPH":17,"WindSpeedInMPH":9},{"BarometricPressure":null,"Latitude":47.670300000,"Longitude":-117.110800000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666292000-0700)\/","RelativeHumidity":63,"SkyCoverage":"N\/A","StationID":2695,"StationName":"Liberty Lake at 296","TemperatureInFahrenheit":74.00,"Visibility":null,"WindDirection":220,"WindDirectionCardinal":"SW","WindGustSpeedInMPH":16,"WindSpeedInMPH":9},{"BarometricPressure":null,"Latitude":47.109500000,"Longitude":-118.395000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502664693000-0700)\/","RelativeHumidity":47,"SkyCoverage":"N\/A","StationID":2696,"StationName":"SR 395 Ritzville","TemperatureInFahrenheit":78.00,"Visibility":null,"WindDirection":240,"WindDirectionCardinal":"SW","WindGustSpeedInMPH":22,"WindSpeedInMPH":12},{"BarometricPressure":1013.30,"Latitude":49.000000000,"Longitude":-122.735200000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502667019000-0700)\/","RelativeHumidity":54,"SkyCoverage":"N\/A","StationID":2701,"StationName":"Blaine @ SR 543 MP 0","TemperatureInFahrenheit":73.00,"Visibility":null,"WindDirection":215,"WindDirectionCardinal":"SW","WindGustSpeedInMPH":11,"WindSpeedInMPH":4},{"BarometricPressure":null,"Latitude":47.550000000,"Longitude":-119.460000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502665500000-0700)\/","RelativeHumidity":26,"SkyCoverage":"N\/A","StationID":2702,"StationName":"Blue Lake @ SR 17 MP 90.3","TemperatureInFahrenheit":84.00,"Visibility":null,"WindDirection":205,"WindDirectionCardinal":"SW","WindGustSpeedInMPH":21,"WindSpeedInMPH":10},{"BarometricPressure":null,"Latitude":46.713700000,"Longitude":-120.414000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666466000-0700)\/","RelativeHumidity":32,"SkyCoverage":"N\/A","StationID":2901,"StationName":"South Umtanum @ I-82","TemperatureInFahrenheit":75.00,"Visibility":null,"WindDirection":315,"WindDirectionCardinal":"NE","WindGustSpeedInMPH":20,"WindSpeedInMPH":13},{"BarometricPressure":null,"Latitude":46.517200000,"Longitude":-117.081100000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502665848000-0700)\/","RelativeHumidity":50,"SkyCoverage":"N\/A","StationID":2902,"StationName":"US-195 @ Uniontown","TemperatureInFahrenheit":71.00,"Visibility":null,"WindDirection":175,"WindDirectionCardinal":"S","WindGustSpeedInMPH":10,"WindSpeedInMPH":2},{"BarometricPressure":null,"Latitude":47.449200000,"Longitude":-117.385300000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502665929000-0700)\/","RelativeHumidity":43,"SkyCoverage":"N\/A","StationID":2903,"StationName":"US-195 @ Spangle","TemperatureInFahrenheit":72.00,"Visibility":null,"WindDirection":175,"WindDirectionCardinal":"S","WindGustSpeedInMPH":19,"WindSpeedInMPH":12},{"BarometricPressure":null,"Latitude":47.393300000,"Longitude":-121.473400000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666738000-0700)\/","RelativeHumidity":82,"SkyCoverage":"N\/A","StationID":2955,"StationName":"Asahel Curtis","TemperatureInFahrenheit":60.00,"Visibility":null,"WindDirection":10,"WindDirectionCardinal":"N","WindGustSpeedInMPH":0,"WindSpeedInMPH":0},{"BarometricPressure":null,"Latitude":47.535800000,"Longitude":-124.333000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666597000-0700)\/","RelativeHumidity":72,"SkyCoverage":"N\/A","StationID":2956,"StationName":"QUEETS","TemperatureInFahrenheit":null,"Visibility":null,"WindDirection":311,"WindDirectionCardinal":"NE","WindGustSpeedInMPH":11,"WindSpeedInMPH":4},{"BarometricPressure":null,"Latitude":47.084900000,"Longitude":-123.033100000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666673000-0700)\/","RelativeHumidity":49,"SkyCoverage":"N\/A","StationID":2957,"StationName":"Oyster Bay Rd","TemperatureInFahrenheit":72.00,"Visibility":null,"WindDirection":246,"WindDirectionCardinal":"SW","WindGustSpeedInMPH":18,"WindSpeedInMPH":9},{"BarometricPressure":null,"Latitude":47.302900000,"Longitude":-124.250400000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666667000-0700)\/","RelativeHumidity":77,"SkyCoverage":"N\/A","StationID":2958,"StationName":"Pt. Grenville","TemperatureInFahrenheit":63.00,"Visibility":null,"WindDirection":299,"WindDirectionCardinal":"NE","WindGustSpeedInMPH":17,"WindSpeedInMPH":3},{"BarometricPressure":966.90,"Latitude":47.103600000,"Longitude":-119.558600000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666221000-0700)\/","RelativeHumidity":null,"SkyCoverage":"N\/A","StationID":2994,"StationName":"Dodson Road","TemperatureInFahrenheit":82.00,"Visibility":null,"WindDirection":257,"WindDirectionCardinal":"W","WindGustSpeedInMPH":28,"WindSpeedInMPH":23},{"BarometricPressure":967.70,"Latitude":46.044600000,"Longitude":-119.224600000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502667028000-0700)\/","RelativeHumidity":33,"SkyCoverage":"N\/A","StationID":2995,"StationName":"Horse Heaven","TemperatureInFahrenheit":78.00,"Visibility":null,"WindDirection":213,"WindDirectionCardinal":"SW","WindGustSpeedInMPH":22,"WindSpeedInMPH":17},{"BarometricPressure":null,"Latitude":47.729200000,"Longitude":-120.739100000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666894000-0700)\/","RelativeHumidity":38,"SkyCoverage":"N\/A","StationID":3000,"StationName":"Winton","TemperatureInFahrenheit":70.00,"Visibility":null,"WindDirection":61,"WindDirectionCardinal":"NE","WindGustSpeedInMPH":12,"WindSpeedInMPH":3},{"BarometricPressure":975.50,"Latitude":47.872700000,"Longitude":-119.920200000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666922000-0700)\/","RelativeHumidity":25,"SkyCoverage":"N\/A","StationID":3001,"StationName":"Chelan","TemperatureInFahrenheit":83.00,"Visibility":null,"WindDirection":210,"WindDirectionCardinal":"SW","WindGustSpeedInMPH":23,"WindSpeedInMPH":18},{"BarometricPressure":null,"Latitude":47.182100000,"Longitude":-121.031300000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666452000-0700)\/","RelativeHumidity":44,"SkyCoverage":"N\/A","StationID":3002,"StationName":"Bullfrog","TemperatureInFahrenheit":69.00,"Visibility":null,"WindDirection":255,"WindDirectionCardinal":"W","WindGustSpeedInMPH":21,"WindSpeedInMPH":8},{"BarometricPressure":971.50,"Latitude":46.131400000,"Longitude":-119.601700000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502667021000-0700)\/","RelativeHumidity":33,"SkyCoverage":"N\/A","StationID":3004,"StationName":"Sellards Road on SR 221","TemperatureInFahrenheit":80.00,"Visibility":null,"WindDirection":243,"WindDirectionCardinal":"SW","WindGustSpeedInMPH":12,"WindSpeedInMPH":6},{"BarometricPressure":980.50,"Latitude":46.250400000,"Longitude":-119.369500000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502667013000-0700)\/","RelativeHumidity":35,"SkyCoverage":"N\/A","StationID":3005,"StationName":"I-82 on I-182","TemperatureInFahrenheit":80.00,"Visibility":null,"WindDirection":219,"WindDirectionCardinal":"SW","WindGustSpeedInMPH":18,"WindSpeedInMPH":13},{"BarometricPressure":null,"Latitude":48.876000000,"Longitude":-117.348300000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502664709000-0700)\/","RelativeHumidity":51,"SkyCoverage":"N\/A","StationID":3007,"StationName":"Metaline Fall on SR31@MP16.69","TemperatureInFahrenheit":67.00,"Visibility":null,"WindDirection":170,"WindDirectionCardinal":"S","WindGustSpeedInMPH":8,"WindSpeedInMPH":5},{"BarometricPressure":998.80,"Latitude":47.532000000,"Longitude":-121.985000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502667021000-0700)\/","RelativeHumidity":null,"SkyCoverage":"N\/A","StationID":3038,"StationName":"I-90 at Sunset","TemperatureInFahrenheit":null,"Visibility":null,"WindDirection":270,"WindDirectionCardinal":"W","WindGustSpeedInMPH":9,"WindSpeedInMPH":6},{"BarometricPressure":987.30,"Latitude":46.217600000,"Longitude":-119.748900000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502667005000-0700)\/","RelativeHumidity":35,"SkyCoverage":"N\/A","StationID":3110,"StationName":"Prosser","TemperatureInFahrenheit":84.00,"Visibility":null,"WindDirection":291,"WindDirectionCardinal":"W","WindGustSpeedInMPH":13,"WindSpeedInMPH":6},{"BarometricPressure":976.60,"Latitude":46.538500000,"Longitude":-120.471800000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666488000-0700)\/","RelativeHumidity":25,"SkyCoverage":"N\/A","StationID":3111,"StationName":"Parker","TemperatureInFahrenheit":82.00,"Visibility":null,"WindDirection":95,"WindDirectionCardinal":"E","WindGustSpeedInMPH":12,"WindSpeedInMPH":7},{"BarometricPressure":977.40,"Latitude":46.538400000,"Longitude":-120.472000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666439000-0700)\/","RelativeHumidity":26,"SkyCoverage":"N\/A","StationID":3112,"StationName":"Union Gap","TemperatureInFahrenheit":82.00,"Visibility":null,"WindDirection":291,"WindDirectionCardinal":"W","WindGustSpeedInMPH":8,"WindSpeedInMPH":6},{"BarometricPressure":null,"Latitude":46.393000000,"Longitude":-120.241100000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666428000-0700)\/","RelativeHumidity":32,"SkyCoverage":"N\/A","StationID":3113,"StationName":"Zillah","TemperatureInFahrenheit":82.00,"Visibility":null,"WindDirection":196,"WindDirectionCardinal":"S","WindGustSpeedInMPH":5,"WindSpeedInMPH":4},{"BarometricPressure":981.40,"Latitude":46.326600000,"Longitude":-120.077900000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666416000-0700)\/","RelativeHumidity":35,"SkyCoverage":"N\/A","StationID":3114,"StationName":"Outlook","TemperatureInFahrenheit":83.00,"Visibility":null,"WindDirection":270,"WindDirectionCardinal":"W","WindGustSpeedInMPH":1,"WindSpeedInMPH":0},{"BarometricPressure":null,"Latitude":47.067700000,"Longitude":-122.715800000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666747000-0700)\/","RelativeHumidity":49,"SkyCoverage":"N\/A","StationID":3234,"StationName":"Nisqually on I-5 @ MP 116","TemperatureInFahrenheit":73.00,"Visibility":null,"WindDirection":180,"WindDirectionCardinal":"S","WindGustSpeedInMPH":11,"WindSpeedInMPH":6},{"BarometricPressure":874.10,"Latitude":48.390400000,"Longitude":-119.879200000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666289000-0700)\/","RelativeHumidity":28,"SkyCoverage":"N\/A","StationID":3235,"StationName":"Loup Loup Pass on SR 20","TemperatureInFahrenheit":71.00,"Visibility":null,"WindDirection":246,"WindDirectionCardinal":"SW","WindGustSpeedInMPH":1,"WindSpeedInMPH":0},{"BarometricPressure":null,"Latitude":47.858400000,"Longitude":-122.621600000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666906000-0700)\/","RelativeHumidity":72,"SkyCoverage":"N\/A","StationID":3265,"StationName":"Hood Canal Bridge","TemperatureInFahrenheit":62.00,"Visibility":null,"WindDirection":null,"WindDirectionCardinal":"N\/A","WindGustSpeedInMPH":null,"WindSpeedInMPH":null},{"BarometricPressure":1015.60,"Latitude":48.446000000,"Longitude":-122.432000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502667022000-0700)\/","RelativeHumidity":49,"SkyCoverage":"N\/A","StationID":3267,"StationName":"MOUNT VERNON","TemperatureInFahrenheit":67.00,"Visibility":null,"WindDirection":0,"WindDirectionCardinal":"N","WindGustSpeedInMPH":0,"WindSpeedInMPH":0},{"BarometricPressure":1000.20,"Latitude":47.916300000,"Longitude":-122.207200000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502667024000-0700)\/","RelativeHumidity":82,"SkyCoverage":"N\/A","StationID":3268,"StationName":"SR526 INTERCHANGE","TemperatureInFahrenheit":65.00,"Visibility":null,"WindDirection":330,"WindDirectionCardinal":"NE","WindGustSpeedInMPH":17,"WindSpeedInMPH":9},{"BarometricPressure":924.10,"Latitude":47.980300000,"Longitude":-122.188000000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502667025000-0700)\/","RelativeHumidity":2,"SkyCoverage":"N\/A","StationID":3269,"StationName":"SR2 @ I-5 INTERCHANGE EVERETT","TemperatureInFahrenheit":70.00,"Visibility":null,"WindDirection":280,"WindDirectionCardinal":"W","WindGustSpeedInMPH":18,"WindSpeedInMPH":9},{"BarometricPressure":1012.00,"Latitude":48.204200000,"Longitude":-122.214200000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502667025000-0700)\/","RelativeHumidity":null,"SkyCoverage":"N\/A","StationID":3270,"StationName":"STILLIGUAMISH RIVER","TemperatureInFahrenheit":68.00,"Visibility":null,"WindDirection":340,"WindDirectionCardinal":"N","WindGustSpeedInMPH":1,"WindSpeedInMPH":0},{"BarometricPressure":996.10,"Latitude":47.813900000,"Longitude":-121.570900000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502667031000-0700)\/","RelativeHumidity":64,"SkyCoverage":"N\/A","StationID":3271,"StationName":"INDEX GALENA ROAD","TemperatureInFahrenheit":64.00,"Visibility":null,"WindDirection":306,"WindDirectionCardinal":"NE","WindGustSpeedInMPH":4,"WindSpeedInMPH":2},{"BarometricPressure":882.00,"Latitude":46.500278000,"Longitude":-119.611667000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666536000-0700)\/","RelativeHumidity":null,"SkyCoverage":"N\/A","StationID":3273,"StationName":"SR240 @ Beloit","TemperatureInFahrenheit":83.00,"Visibility":null,"WindDirection":310,"WindDirectionCardinal":"NE","WindGustSpeedInMPH":19,"WindSpeedInMPH":7},{"BarometricPressure":null,"Latitude":46.467063000,"Longitude":-119.541111000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666537000-0700)\/","RelativeHumidity":29,"SkyCoverage":"N\/A","StationID":3274,"StationName":"SR240 @ Mid Hanford","TemperatureInFahrenheit":85.00,"Visibility":null,"WindDirection":295,"WindDirectionCardinal":"NE","WindGustSpeedInMPH":12,"WindSpeedInMPH":9},{"BarometricPressure":null,"Latitude":46.383155000,"Longitude":-119.422786000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666539000-0700)\/","RelativeHumidity":33,"SkyCoverage":"N\/A","StationID":3275,"StationName":"SR240 @ SR225 Horn Rd ","TemperatureInFahrenheit":84.00,"Visibility":null,"WindDirection":180,"WindDirectionCardinal":"S","WindGustSpeedInMPH":21,"WindSpeedInMPH":14},{"BarometricPressure":null,"Latitude":46.325574000,"Longitude":-119.316126000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666540000-0700)\/","RelativeHumidity":36,"SkyCoverage":"N\/A","StationID":3276,"StationName":"SR240 @ Twin Bridges","TemperatureInFahrenheit":85.00,"Visibility":null,"WindDirection":190,"WindDirectionCardinal":"S","WindGustSpeedInMPH":21,"WindSpeedInMPH":14},{"BarometricPressure":1011.10,"Latitude":47.303516000,"Longitude":-122.232946000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502667036000-0700)\/","RelativeHumidity":52,"SkyCoverage":"N\/A","StationID":3277,"StationName":"SR 18 @ C St, Auburn","TemperatureInFahrenheit":72.00,"Visibility":null,"WindDirection":275,"WindDirectionCardinal":"W","WindGustSpeedInMPH":8,"WindSpeedInMPH":5},{"BarometricPressure":605.50,"Latitude":46.049483000,"Longitude":-118.495917000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666542000-0700)\/","RelativeHumidity":65,"SkyCoverage":"N\/A","StationID":3295,"StationName":"SR12 @ Frenchtown Rd MP 328.75","TemperatureInFahrenheit":82.00,"Visibility":null,"WindDirection":0,"WindDirectionCardinal":"N","WindGustSpeedInMPH":0,"WindSpeedInMPH":0},{"BarometricPressure":1003.00,"Latitude":47.830966800,"Longitude":-122.262359231,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502667038000-0700)\/","RelativeHumidity":61,"SkyCoverage":"N\/A","StationID":3752,"StationName":"I-5 at I-405","TemperatureInFahrenheit":65.00,"Visibility":null,"WindDirection":0,"WindDirectionCardinal":"N","WindGustSpeedInMPH":13,"WindSpeedInMPH":7},{"BarometricPressure":null,"Latitude":46.802261130,"Longitude":-123.007164104,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666746000-0700)\/","RelativeHumidity":52,"SkyCoverage":"N\/A","StationID":3776,"StationName":"GRAND MOUND","TemperatureInFahrenheit":71.00,"Visibility":null,"WindDirection":292,"WindDirectionCardinal":"W","WindGustSpeedInMPH":12,"WindSpeedInMPH":6},{"BarometricPressure":29.90,"Latitude":47.640394000,"Longitude":-122.258735000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666640000-0700)\/","RelativeHumidity":60,"SkyCoverage":"N\/A","StationID":3814,"StationName":"SR 520 Bridge","TemperatureInFahrenheit":68.00,"Visibility":null,"WindDirection":332,"WindDirectionCardinal":"NNW","WindGustSpeedInMPH":15,"WindSpeedInMPH":13},{"BarometricPressure":972.70,"Latitude":46.763142629,"Longitude":-122.192029836,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666748000-0700)\/","RelativeHumidity":53,"SkyCoverage":"N\/A","StationID":3830,"StationName":"SR 7 @ SR 706 Elbe ","TemperatureInFahrenheit":69.00,"Visibility":null,"WindDirection":300,"WindDirectionCardinal":"NE","WindGustSpeedInMPH":8,"WindSpeedInMPH":3},{"BarometricPressure":1011.20,"Latitude":48.963854000,"Longitude":-122.484913000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502667039000-0700)\/","RelativeHumidity":52,"SkyCoverage":"N\/A","StationID":3832,"StationName":"SR 539 at SR 546 (Badger Rd)","TemperatureInFahrenheit":72.00,"Visibility":null,"WindDirection":225,"WindDirectionCardinal":"SW","WindGustSpeedInMPH":16,"WindSpeedInMPH":9},{"BarometricPressure":1012.30,"Latitude":48.891981000,"Longitude":-122.485690000,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502667041000-0700)\/","RelativeHumidity":47,"SkyCoverage":"N\/A","StationID":3833,"StationName":"SR 539 at SR 544 (Pole Rd)","TemperatureInFahrenheit":72.00,"Visibility":null,"WindDirection":155,"WindDirectionCardinal":"SE","WindGustSpeedInMPH":15,"WindSpeedInMPH":10},{"BarometricPressure":1012.90,"Latitude":47.847408802,"Longitude":-122.009759750,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502667042000-0700)\/","RelativeHumidity":60,"SkyCoverage":"N\/A","StationID":3841,"StationName":"SR 522 at Main St","TemperatureInFahrenheit":67.00,"Visibility":null,"WindDirection":5,"WindDirectionCardinal":"N","WindGustSpeedInMPH":10,"WindSpeedInMPH":6},{"BarometricPressure":1014.30,"Latitude":47.353395000,"Longitude":-122.244567187,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502667044000-0700)\/","RelativeHumidity":52,"SkyCoverage":"N\/A","StationID":3852,"StationName":"SR 167 at S 277th St","TemperatureInFahrenheit":71.00,"Visibility":null,"WindDirection":285,"WindDirectionCardinal":"W","WindGustSpeedInMPH":12,"WindSpeedInMPH":8},{"BarometricPressure":null,"Latitude":47.263826124,"Longitude":-122.545658013,"PrecipitationInInches":null,"ReadingTime":"\/Date(1502666905000-0700)\/","RelativeHumidity":null,"SkyCoverage":"N\/A","StationID":3854,"StationName":"Tacoma Narrows Bridge","TemperatureInFahrenheit":null,"Visibility":null,"WindDirection":210,"WindDirectionCardinal":"SW","WindGustSpeedInMPH":9,"WindSpeedInMPH":3}]

Gearing up for some data engineering

Import the libraries we need (pandas, json, ad a few friends).

these same libraries were imported earlier for WSOT transportation, but we repeat them here in case you'd like to copy/paste into a a notebook of your own.

In [36]:
import json
import pandas as pd
import os
from pandas.io.json import json_normalize

jsondir = "/home/vagrant/json"
wsdot_weather_filepath = jsondir + "/wsdot_weather/2017-08-13-23-37-10"

with open(wsdot_weather_filepath) as json_file:
  raw_json = json.load(json_file)

raw_json
Out[36]:
[{'BarometricPressure': 1010.1,
  'Latitude': 47.4748,
  'Longitude': -122.2704,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502667002000-0700)/',
  'RelativeHumidity': 59,
  'SkyCoverage': 'N/A',
  'StationID': 1909,
  'StationName': 'SB I-5 144th',
  'TemperatureInFahrenheit': 71.0,
  'Visibility': None,
  'WindDirection': 355,
  'WindDirectionCardinal': 'N',
  'WindGustSpeedInMPH': 12,
  'WindSpeedInMPH': 7},
 {'BarometricPressure': 1014.8,
  'Latitude': 47.760632547,
  'Longitude': -122.18404783,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502667016000-0700)/',
  'RelativeHumidity': 57,
  'SkyCoverage': 'N/A',
  'StationID': 1910,
  'StationName': 'SB I-405 N.E. 195th',
  'TemperatureInFahrenheit': 68.0,
  'Visibility': None,
  'WindDirection': 65,
  'WindDirectionCardinal': 'NE',
  'WindGustSpeedInMPH': 9,
  'WindSpeedInMPH': 2},
 {'BarometricPressure': 981.5,
  'Latitude': 47.509,
  'Longitude': -121.885,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502667008000-0700)/',
  'RelativeHumidity': 67,
  'SkyCoverage': 'N/A',
  'StationID': 1928,
  'StationName': 'EB I-90 @ SR-18 Echo Lake',
  'TemperatureInFahrenheit': 68.0,
  'Visibility': None,
  'WindDirection': 125,
  'WindDirectionCardinal': 'SE',
  'WindGustSpeedInMPH': 6,
  'WindSpeedInMPH': 2},
 {'BarometricPressure': 1002.6,
  'Latitude': 47.726,
  'Longitude': -122.324,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502667001000-0700)/',
  'RelativeHumidity': 64,
  'SkyCoverage': 'N/A',
  'StationID': 1966,
  'StationName': '130th Street',
  'TemperatureInFahrenheit': 67.0,
  'Visibility': None,
  'WindDirection': 235,
  'WindDirectionCardinal': 'SW',
  'WindGustSpeedInMPH': 0,
  'WindSpeedInMPH': 0},
 {'BarometricPressure': None,
  'Latitude': 46.436,
  'Longitude': -117.35,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666981000-0700)/',
  'RelativeHumidity': 46,
  'SkyCoverage': 'N/A',
  'StationID': 1968,
  'StationName': 'Alpowa Summit',
  'TemperatureInFahrenheit': 71.0,
  'Visibility': None,
  'WindDirection': 260,
  'WindDirectionCardinal': 'W',
  'WindGustSpeedInMPH': 16,
  'WindSpeedInMPH': 9},
 {'BarometricPressure': None,
  'Latitude': 47.0338,
  'Longitude': -123.0971,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502667000000-0700)/',
  'RelativeHumidity': 52,
  'SkyCoverage': 'N/A',
  'StationID': 1970,
  'StationName': 'Rock Candy Mountain',
  'TemperatureInFahrenheit': 70.0,
  'Visibility': None,
  'WindDirection': 181,
  'WindDirectionCardinal': 'S',
  'WindGustSpeedInMPH': 17,
  'WindSpeedInMPH': 4},
 {'BarometricPressure': None,
  'Latitude': 47.5555,
  'Longitude': -120.5866,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666776000-0700)/',
  'RelativeHumidity': 26,
  'SkyCoverage': 'N/A',
  'StationID': 1972,
  'StationName': 'Dryden Road',
  'TemperatureInFahrenheit': 84.0,
  'Visibility': None,
  'WindDirection': 0,
  'WindDirectionCardinal': 'N',
  'WindGustSpeedInMPH': 12,
  'WindSpeedInMPH': 5},
 {'BarometricPressure': None,
  'Latitude': 47.2691,
  'Longitude': -121.2392,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666732000-0700)/',
  'RelativeHumidity': 49,
  'SkyCoverage': 'N/A',
  'StationID': 1973,
  'StationName': 'Easton Hill',
  'TemperatureInFahrenheit': 66.0,
  'Visibility': None,
  'WindDirection': 5,
  'WindDirectionCardinal': 'N',
  'WindGustSpeedInMPH': 16,
  'WindSpeedInMPH': 5},
 {'BarometricPressure': None,
  'Latitude': 48.0703,
  'Longitude': -124.049,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666845000-0700)/',
  'RelativeHumidity': 42,
  'SkyCoverage': 'N/A',
  'StationID': 1975,
  'StationName': 'Heckelville Shed',
  'TemperatureInFahrenheit': 61.0,
  'Visibility': None,
  'WindDirection': 45,
  'WindDirectionCardinal': 'NE',
  'WindGustSpeedInMPH': 13,
  'WindSpeedInMPH': 7},
 {'BarometricPressure': None,
  'Latitude': 46.887,
  'Longitude': -120.427,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666499000-0700)/',
  'RelativeHumidity': 99,
  'SkyCoverage': 'N/A',
  'StationID': 1977,
  'StationName': 'Manastash Ridge Eastbound',
  'TemperatureInFahrenheit': 70.0,
  'Visibility': None,
  'WindDirection': 325,
  'WindDirectionCardinal': 'NE',
  'WindGustSpeedInMPH': 28,
  'WindSpeedInMPH': 20},
 {'BarometricPressure': None,
  'Latitude': 46.928,
  'Longitude': -120.5,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666515000-0700)/',
  'RelativeHumidity': 36,
  'SkyCoverage': 'N/A',
  'StationID': 1978,
  'StationName': 'Manastash Ridge Westbound',
  'TemperatureInFahrenheit': 74.0,
  'Visibility': None,
  'WindDirection': 285,
  'WindDirectionCardinal': 'W',
  'WindGustSpeedInMPH': 29,
  'WindSpeedInMPH': 20},
 {'BarometricPressure': None,
  'Latitude': 47.3050817,
  'Longitude': -121.3056882,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666726000-0700)/',
  'RelativeHumidity': 46,
  'SkyCoverage': 'N/A',
  'StationID': 1979,
  'StationName': 'Stampede Overpass',
  'TemperatureInFahrenheit': 69.0,
  'Visibility': None,
  'WindDirection': 231,
  'WindDirectionCardinal': 'SW',
  'WindGustSpeedInMPH': 15,
  'WindSpeedInMPH': 2},
 {'BarometricPressure': None,
  'Latitude': 47.078,
  'Longitude': -120.724,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666472000-0700)/',
  'RelativeHumidity': 35,
  'SkyCoverage': 'N/A',
  'StationID': 1980,
  'StationName': 'Rocky Canyon',
  'TemperatureInFahrenheit': 75.0,
  'Visibility': None,
  'WindDirection': 305,
  'WindDirectionCardinal': 'NE',
  'WindGustSpeedInMPH': 31,
  'WindSpeedInMPH': 21},
 {'BarometricPressure': None,
  'Latitude': 46.943,
  'Longitude': -120.165,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666528000-0700)/',
  'RelativeHumidity': 24,
  'SkyCoverage': 'N/A',
  'StationID': 1981,
  'StationName': 'Ryegrass Summit',
  'TemperatureInFahrenheit': 72.0,
  'Visibility': None,
  'WindDirection': 185,
  'WindDirectionCardinal': 'S',
  'WindGustSpeedInMPH': 39,
  'WindSpeedInMPH': 32},
 {'BarometricPressure': 996.5,
  'Latitude': 48.688,
  'Longitude': -122.4,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502667014000-0700)/',
  'RelativeHumidity': 55,
  'SkyCoverage': 'N/A',
  'StationID': 1982,
  'StationName': 'Lake Samish Park and Ride',
  'TemperatureInFahrenheit': 69.0,
  'Visibility': None,
  'WindDirection': 95,
  'WindDirectionCardinal': 'E',
  'WindGustSpeedInMPH': 11,
  'WindSpeedInMPH': 4},
 {'BarometricPressure': None,
  'Latitude': 47.7459,
  'Longitude': -121.0891,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666771000-0700)/',
  'RelativeHumidity': None,
  'SkyCoverage': 'N/A',
  'StationID': 1984,
  'StationName': 'Stevens Pass',
  'TemperatureInFahrenheit': None,
  'Visibility': None,
  'WindDirection': None,
  'WindDirectionCardinal': 'N/A',
  'WindGustSpeedInMPH': None,
  'WindSpeedInMPH': None},
 {'BarometricPressure': 1013.7,
  'Latitude': 48.992,
  'Longitude': -122.272,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502667018000-0700)/',
  'RelativeHumidity': 49,
  'SkyCoverage': 'N/A',
  'StationID': 1985,
  'StationName': 'SUMAS SR 9 AT FRONT ST (SR 547)',
  'TemperatureInFahrenheit': 72.0,
  'Visibility': None,
  'WindDirection': 0,
  'WindDirectionCardinal': 'N',
  'WindGustSpeedInMPH': 15,
  'WindSpeedInMPH': 6},
 {'BarometricPressure': None,
  'Latitude': 47.043,
  'Longitude': -119.916,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502667004000-0700)/',
  'RelativeHumidity': 26,
  'SkyCoverage': 'N/A',
  'StationID': 1987,
  'StationName': 'Silica Road',
  'TemperatureInFahrenheit': 80.0,
  'Visibility': None,
  'WindDirection': 280,
  'WindDirectionCardinal': 'W',
  'WindGustSpeedInMPH': 28,
  'WindSpeedInMPH': 16},
 {'BarometricPressure': None,
  'Latitude': 47.085,
  'Longitude': -119.006,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502667010000-0700)/',
  'RelativeHumidity': 40,
  'SkyCoverage': 'N/A',
  'StationID': 1988,
  'StationName': 'Warden Interchange',
  'TemperatureInFahrenheit': 81.0,
  'Visibility': None,
  'WindDirection': 170,
  'WindDirectionCardinal': 'S',
  'WindGustSpeedInMPH': 18,
  'WindSpeedInMPH': 11},
 {'BarometricPressure': None,
  'Latitude': 47.113,
  'Longitude': -120.786,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666522000-0700)/',
  'RelativeHumidity': 99,
  'SkyCoverage': 'N/A',
  'StationID': 1989,
  'StationName': 'Elk Heights',
  'TemperatureInFahrenheit': 69.0,
  'Visibility': None,
  'WindDirection': 245,
  'WindDirectionCardinal': 'SW',
  'WindGustSpeedInMPH': 21,
  'WindSpeedInMPH': 9},
 {'BarometricPressure': None,
  'Latitude': 48.0504,
  'Longitude': -122.9523,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502663594000-0700)/',
  'RelativeHumidity': 47,
  'SkyCoverage': 'N/A',
  'StationID': 2044,
  'StationName': 'Diamond Point',
  'TemperatureInFahrenheit': 65.0,
  'Visibility': None,
  'WindDirection': 290,
  'WindDirectionCardinal': 'W',
  'WindGustSpeedInMPH': 18,
  'WindSpeedInMPH': 10},
 {'BarometricPressure': None,
  'Latitude': 48.0938,
  'Longitude': -123.2783,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502667004000-0700)/',
  'RelativeHumidity': 68,
  'SkyCoverage': 'N/A',
  'StationID': 2045,
  'StationName': 'Seibert Creek Bridge',
  'TemperatureInFahrenheit': 61.0,
  'Visibility': None,
  'WindDirection': 239,
  'WindDirectionCardinal': 'SW',
  'WindGustSpeedInMPH': 26,
  'WindSpeedInMPH': 13},
 {'BarometricPressure': None,
  'Latitude': 47.4435,
  'Longitude': -121.6694,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666721000-0700)/',
  'RelativeHumidity': 42,
  'SkyCoverage': 'N/A',
  'StationID': 2068,
  'StationName': 'Snoqualmie River Bridge',
  'TemperatureInFahrenheit': 67.0,
  'Visibility': None,
  'WindDirection': 210,
  'WindDirectionCardinal': 'SW',
  'WindGustSpeedInMPH': 6,
  'WindSpeedInMPH': 2},
 {'BarometricPressure': 994.8,
  'Latitude': 47.473,
  'Longitude': -121.742,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502667011000-0700)/',
  'RelativeHumidity': None,
  'SkyCoverage': 'N/A',
  'StationID': 2069,
  'StationName': 'WB I-90 near Tanner Crossing',
  'TemperatureInFahrenheit': None,
  'Visibility': None,
  'WindDirection': None,
  'WindDirectionCardinal': 'N/A',
  'WindGustSpeedInMPH': None,
  'WindSpeedInMPH': None},
 {'BarometricPressure': None,
  'Latitude': 47.427,
  'Longitude': -121.418,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666572000-0700)/',
  'RelativeHumidity': 50,
  'SkyCoverage': 'N/A',
  'StationID': 2085,
  'StationName': 'Alpental Exit',
  'TemperatureInFahrenheit': 60.0,
  'Visibility': None,
  'WindDirection': 0,
  'WindDirectionCardinal': 'N',
  'WindGustSpeedInMPH': 13,
  'WindSpeedInMPH': 9},
 {'BarometricPressure': None,
  'Latitude': 47.3348,
  'Longitude': -120.5771,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666766000-0700)/',
  'RelativeHumidity': 41,
  'SkyCoverage': 'N/A',
  'StationID': 2108,
  'StationName': 'Blewett Pass',
  'TemperatureInFahrenheit': 68.0,
  'Visibility': None,
  'WindDirection': 270,
  'WindDirectionCardinal': 'W',
  'WindGustSpeedInMPH': 9,
  'WindSpeedInMPH': 2},
 {'BarometricPressure': None,
  'Latitude': 46.638,
  'Longitude': -121.39,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666534000-0700)/',
  'RelativeHumidity': 68,
  'SkyCoverage': 'N/A',
  'StationID': 2139,
  'StationName': 'White Pass Summit',
  'TemperatureInFahrenheit': 56.0,
  'Visibility': None,
  'WindDirection': 90,
  'WindDirectionCardinal': 'E',
  'WindGustSpeedInMPH': 13,
  'WindSpeedInMPH': 4},
 {'BarometricPressure': None,
  'Latitude': 47.3019,
  'Longitude': -120.0678,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666822000-0700)/',
  'RelativeHumidity': 24,
  'SkyCoverage': 'N/A',
  'StationID': 2173,
  'StationName': 'Palisades',
  'TemperatureInFahrenheit': 84.0,
  'Visibility': None,
  'WindDirection': 15,
  'WindDirectionCardinal': 'N',
  'WindGustSpeedInMPH': 21,
  'WindSpeedInMPH': 13},
 {'BarometricPressure': None,
  'Latitude': 47.2331,
  'Longitude': -119.9582,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666828000-0700)/',
  'RelativeHumidity': 83,
  'SkyCoverage': 'N/A',
  'StationID': 2174,
  'StationName': 'Quincy Rest Area',
  'TemperatureInFahrenheit': 82.0,
  'Visibility': None,
  'WindDirection': 145,
  'WindDirectionCardinal': 'SE',
  'WindGustSpeedInMPH': 13,
  'WindSpeedInMPH': 7},
 {'BarometricPressure': None,
  'Latitude': 47.8156,
  'Longitude': -119.363,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666882000-0700)/',
  'RelativeHumidity': 23,
  'SkyCoverage': 'N/A',
  'StationID': 2175,
  'StationName': 'Mansfield',
  'TemperatureInFahrenheit': 79.0,
  'Visibility': None,
  'WindDirection': 235,
  'WindDirectionCardinal': 'SW',
  'WindGustSpeedInMPH': 0,
  'WindSpeedInMPH': 0},
 {'BarometricPressure': 1032.0,
  'Latitude': 47.9723,
  'Longitude': -119.197,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666272000-0700)/',
  'RelativeHumidity': 20,
  'SkyCoverage': 'N/A',
  'StationID': 2176,
  'StationName': 'Coulee Dam West',
  'TemperatureInFahrenheit': 79.0,
  'Visibility': None,
  'WindDirection': 5,
  'WindDirectionCardinal': 'N',
  'WindGustSpeedInMPH': 25,
  'WindSpeedInMPH': 12},
 {'BarometricPressure': None,
  'Latitude': 48.5004,
  'Longitude': -119.508878,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502665323000-0700)/',
  'RelativeHumidity': 21,
  'SkyCoverage': 'N/A',
  'StationID': 2177,
  'StationName': 'Riverside',
  'TemperatureInFahrenheit': 87.0,
  'Visibility': None,
  'WindDirection': 240,
  'WindDirectionCardinal': 'SW',
  'WindGustSpeedInMPH': 14,
  'WindSpeedInMPH': 8},
 {'BarometricPressure': 1032.6,
  'Latitude': 48.0784,
  'Longitude': -120.0113,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502665260000-0700)/',
  'RelativeHumidity': 18,
  'SkyCoverage': 'N/A',
  'StationID': 2178,
  'StationName': 'Methow',
  'TemperatureInFahrenheit': 90.0,
  'Visibility': None,
  'WindDirection': 85,
  'WindDirectionCardinal': 'E',
  'WindGustSpeedInMPH': 15,
  'WindSpeedInMPH': 8},
 {'BarometricPressure': None,
  'Latitude': 47.2531,
  'Longitude': -120.6932,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666912000-0700)/',
  'RelativeHumidity': 5,
  'SkyCoverage': 'N/A',
  'StationID': 2179,
  'StationName': 'South Blewett',
  'TemperatureInFahrenheit': 69.0,
  'Visibility': None,
  'WindDirection': 185,
  'WindDirectionCardinal': 'S',
  'WindGustSpeedInMPH': 1,
  'WindSpeedInMPH': 1},
 {'BarometricPressure': None,
  'Latitude': 47.527,
  'Longitude': -120.4838,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666814000-0700)/',
  'RelativeHumidity': 22,
  'SkyCoverage': 'N/A',
  'StationID': 2180,
  'StationName': 'Cashmere',
  'TemperatureInFahrenheit': 83.0,
  'Visibility': None,
  'WindDirection': 125,
  'WindDirectionCardinal': 'SE',
  'WindGustSpeedInMPH': 22,
  'WindSpeedInMPH': 8},
 {'BarometricPressure': None,
  'Latitude': 47.6504,
  'Longitude': -120.1475,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666919000-0700)/',
  'RelativeHumidity': 35,
  'SkyCoverage': 'N/A',
  'StationID': 2194,
  'StationName': 'Waterville',
  'TemperatureInFahrenheit': 75.0,
  'Visibility': None,
  'WindDirection': 220,
  'WindDirectionCardinal': 'SW',
  'WindGustSpeedInMPH': 18,
  'WindSpeedInMPH': 11},
 {'BarometricPressure': 825.4,
  'Latitude': 48.9983,
  'Longitude': -118.2245,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666103000-0700)/',
  'RelativeHumidity': 46,
  'SkyCoverage': 'N/A',
  'StationID': 2248,
  'StationName': 'Laurier',
  'TemperatureInFahrenheit': 75.0,
  'Visibility': None,
  'WindDirection': 170,
  'WindDirectionCardinal': 'S',
  'WindGustSpeedInMPH': 17,
  'WindSpeedInMPH': 11},
 {'BarometricPressure': 916.9,
  'Latitude': 48.608,
  'Longitude': -118.479,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666209000-0700)/',
  'RelativeHumidity': 73,
  'SkyCoverage': 'N/A',
  'StationID': 2249,
  'StationName': 'Sherman Pass',
  'TemperatureInFahrenheit': 56.0,
  'Visibility': None,
  'WindDirection': 125,
  'WindDirectionCardinal': 'SE',
  'WindGustSpeedInMPH': 14,
  'WindSpeedInMPH': 5},
 {'BarometricPressure': None,
  'Latitude': 47.3672,
  'Longitude': -119.4885,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666207000-0700)/',
  'RelativeHumidity': 27,
  'SkyCoverage': 'N/A',
  'StationID': 2251,
  'StationName': 'Soap Lake',
  'TemperatureInFahrenheit': 85.0,
  'Visibility': None,
  'WindDirection': 300,
  'WindDirectionCardinal': 'NE',
  'WindGustSpeedInMPH': 18,
  'WindSpeedInMPH': 12},
 {'BarometricPressure': None,
  'Latitude': 46.9556,
  'Longitude': -119.9485,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502667016000-0700)/',
  'RelativeHumidity': 20,
  'SkyCoverage': 'N/A',
  'StationID': 2253,
  'StationName': 'Vantage',
  'TemperatureInFahrenheit': 82.0,
  'Visibility': None,
  'WindDirection': 245,
  'WindDirectionCardinal': 'SW',
  'WindGustSpeedInMPH': 28,
  'WindSpeedInMPH': 21},
 {'BarometricPressure': None,
  'Latitude': 48.661,
  'Longitude': -119.198,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502665419000-0700)/',
  'RelativeHumidity': None,
  'SkyCoverage': 'N/A',
  'StationID': 2254,
  'StationName': 'Aeneas Valley Rd',
  'TemperatureInFahrenheit': None,
  'Visibility': None,
  'WindDirection': None,
  'WindDirectionCardinal': 'N/A',
  'WindGustSpeedInMPH': None,
  'WindSpeedInMPH': None},
 {'BarometricPressure': None,
  'Latitude': 48.661,
  'Longitude': -118.835,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666278000-0700)/',
  'RelativeHumidity': 38,
  'SkyCoverage': 'N/A',
  'StationID': 2255,
  'StationName': 'Ferry County Line',
  'TemperatureInFahrenheit': 74.0,
  'Visibility': None,
  'WindDirection': 0,
  'WindDirectionCardinal': 'N',
  'WindGustSpeedInMPH': 8,
  'WindSpeedInMPH': 3},
 {'BarometricPressure': None,
  'Latitude': 47.789,
  'Longitude': -120.134,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666862000-0700)/',
  'RelativeHumidity': 30,
  'SkyCoverage': 'N/A',
  'StationID': 2256,
  'StationName': 'Knapps Tunnel',
  'TemperatureInFahrenheit': 80.0,
  'Visibility': None,
  'WindDirection': 205,
  'WindDirectionCardinal': 'SW',
  'WindGustSpeedInMPH': 18,
  'WindSpeedInMPH': 6},
 {'BarometricPressure': None,
  'Latitude': 48.202,
  'Longitude': -119.004,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666286000-0700)/',
  'RelativeHumidity': 19,
  'SkyCoverage': 'N/A',
  'StationID': 2279,
  'StationName': 'Nespelem',
  'TemperatureInFahrenheit': 82.0,
  'Visibility': None,
  'WindDirection': 140,
  'WindDirectionCardinal': 'SE',
  'WindGustSpeedInMPH': 22,
  'WindSpeedInMPH': 9},
 {'BarometricPressure': None,
  'Latitude': 46.9343,
  'Longitude': -123.7282,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502665850000-0700)/',
  'RelativeHumidity': 87,
  'SkyCoverage': 'N/A',
  'StationID': 2280,
  'StationName': 'Cosmopolis Hill',
  'TemperatureInFahrenheit': 65.0,
  'Visibility': None,
  'WindDirection': 210,
  'WindDirectionCardinal': 'SW',
  'WindGustSpeedInMPH': 12,
  'WindSpeedInMPH': 5},
 {'BarometricPressure': None,
  'Latitude': 47.1402,
  'Longitude': -123.8922,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502664980000-0700)/',
  'RelativeHumidity': 58,
  'SkyCoverage': 'N/A',
  'StationID': 2281,
  'StationName': 'State Camp Hill',
  'TemperatureInFahrenheit': 70.0,
  'Visibility': None,
  'WindDirection': 50,
  'WindDirectionCardinal': 'NE',
  'WindGustSpeedInMPH': 11,
  'WindSpeedInMPH': 3},
 {'BarometricPressure': 983.9,
  'Latitude': 45.6981,
  'Longitude': -120.8147,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666746000-0700)/',
  'RelativeHumidity': 45,
  'SkyCoverage': 'N/A',
  'StationID': 2282,
  'StationName': 'Maryhill',
  'TemperatureInFahrenheit': 75.0,
  'Visibility': None,
  'WindDirection': 5,
  'WindDirectionCardinal': 'N',
  'WindGustSpeedInMPH': 38,
  'WindSpeedInMPH': 28},
 {'BarometricPressure': 852.5,
  'Latitude': 48.0284,
  'Longitude': -117.5981,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666893000-0700)/',
  'RelativeHumidity': 53,
  'SkyCoverage': 'N/A',
  'StationID': 2686,
  'StationName': 'Clayton Rd',
  'TemperatureInFahrenheit': 72.0,
  'Visibility': None,
  'WindDirection': 95,
  'WindDirectionCardinal': 'E',
  'WindGustSpeedInMPH': 11,
  'WindSpeedInMPH': 4},
 {'BarometricPressure': None,
  'Latitude': 47.6531,
  'Longitude': -117.392,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666442000-0700)/',
  'RelativeHumidity': 56,
  'SkyCoverage': 'N/A',
  'StationID': 2687,
  'StationName': 'Perry Curves',
  'TemperatureInFahrenheit': 76.0,
  'Visibility': None,
  'WindDirection': 195,
  'WindDirectionCardinal': 'S',
  'WindGustSpeedInMPH': 9,
  'WindSpeedInMPH': 6},
 {'BarometricPressure': None,
  'Latitude': 47.7773,
  'Longitude': -117.544,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666378000-0700)/',
  'RelativeHumidity': 45,
  'SkyCoverage': 'N/A',
  'StationID': 2688,
  'StationName': 'SR 291 Nine Mile',
  'TemperatureInFahrenheit': 76.0,
  'Visibility': None,
  'WindDirection': 135,
  'WindDirectionCardinal': 'SE',
  'WindGustSpeedInMPH': 16,
  'WindSpeedInMPH': 8},
 {'BarometricPressure': None,
  'Latitude': 47.7871,
  'Longitude': -117.4067,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502663592000-0700)/',
  'RelativeHumidity': 54,
  'SkyCoverage': 'N/A',
  'StationID': 2689,
  'StationName': 'SR 395 @ Hasting Rd.',
  'TemperatureInFahrenheit': 75.0,
  'Visibility': None,
  'WindDirection': 180,
  'WindDirectionCardinal': 'S',
  'WindGustSpeedInMPH': 12,
  'WindSpeedInMPH': 6},
 {'BarometricPressure': None,
  'Latitude': 47.4384,
  'Longitude': -117.7883,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666634000-0700)/',
  'RelativeHumidity': 51,
  'SkyCoverage': 'N/A',
  'StationID': 2690,
  'StationName': 'Tyler Road (SR 904 Inter)',
  'TemperatureInFahrenheit': 75.0,
  'Visibility': None,
  'WindDirection': 145,
  'WindDirectionCardinal': 'SE',
  'WindGustSpeedInMPH': 16,
  'WindSpeedInMPH': 10},
 {'BarometricPressure': None,
  'Latitude': 47.6386,
  'Longitude': -117.362,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666289000-0700)/',
  'RelativeHumidity': 57,
  'SkyCoverage': 'N/A',
  'StationID': 2693,
  'StationName': 'Garden Springs at 277',
  'TemperatureInFahrenheit': 74.0,
  'Visibility': None,
  'WindDirection': 165,
  'WindDirectionCardinal': 'S',
  'WindGustSpeedInMPH': 18,
  'WindSpeedInMPH': 9},
 {'BarometricPressure': None,
  'Latitude': 47.2949,
  'Longitude': -117.337,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666290000-0700)/',
  'RelativeHumidity': 56,
  'SkyCoverage': 'N/A',
  'StationID': 2694,
  'StationName': 'Medical Lake at 272',
  'TemperatureInFahrenheit': 73.0,
  'Visibility': None,
  'WindDirection': 190,
  'WindDirectionCardinal': 'S',
  'WindGustSpeedInMPH': 17,
  'WindSpeedInMPH': 9},
 {'BarometricPressure': None,
  'Latitude': 47.6703,
  'Longitude': -117.1108,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666292000-0700)/',
  'RelativeHumidity': 63,
  'SkyCoverage': 'N/A',
  'StationID': 2695,
  'StationName': 'Liberty Lake at 296',
  'TemperatureInFahrenheit': 74.0,
  'Visibility': None,
  'WindDirection': 220,
  'WindDirectionCardinal': 'SW',
  'WindGustSpeedInMPH': 16,
  'WindSpeedInMPH': 9},
 {'BarometricPressure': None,
  'Latitude': 47.1095,
  'Longitude': -118.395,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502664693000-0700)/',
  'RelativeHumidity': 47,
  'SkyCoverage': 'N/A',
  'StationID': 2696,
  'StationName': 'SR 395 Ritzville',
  'TemperatureInFahrenheit': 78.0,
  'Visibility': None,
  'WindDirection': 240,
  'WindDirectionCardinal': 'SW',
  'WindGustSpeedInMPH': 22,
  'WindSpeedInMPH': 12},
 {'BarometricPressure': 1013.3,
  'Latitude': 49.0,
  'Longitude': -122.7352,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502667019000-0700)/',
  'RelativeHumidity': 54,
  'SkyCoverage': 'N/A',
  'StationID': 2701,
  'StationName': 'Blaine @ SR 543 MP 0',
  'TemperatureInFahrenheit': 73.0,
  'Visibility': None,
  'WindDirection': 215,
  'WindDirectionCardinal': 'SW',
  'WindGustSpeedInMPH': 11,
  'WindSpeedInMPH': 4},
 {'BarometricPressure': None,
  'Latitude': 47.55,
  'Longitude': -119.46,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502665500000-0700)/',
  'RelativeHumidity': 26,
  'SkyCoverage': 'N/A',
  'StationID': 2702,
  'StationName': 'Blue Lake @ SR 17 MP 90.3',
  'TemperatureInFahrenheit': 84.0,
  'Visibility': None,
  'WindDirection': 205,
  'WindDirectionCardinal': 'SW',
  'WindGustSpeedInMPH': 21,
  'WindSpeedInMPH': 10},
 {'BarometricPressure': None,
  'Latitude': 46.7137,
  'Longitude': -120.414,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666466000-0700)/',
  'RelativeHumidity': 32,
  'SkyCoverage': 'N/A',
  'StationID': 2901,
  'StationName': 'South Umtanum @ I-82',
  'TemperatureInFahrenheit': 75.0,
  'Visibility': None,
  'WindDirection': 315,
  'WindDirectionCardinal': 'NE',
  'WindGustSpeedInMPH': 20,
  'WindSpeedInMPH': 13},
 {'BarometricPressure': None,
  'Latitude': 46.5172,
  'Longitude': -117.0811,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502665848000-0700)/',
  'RelativeHumidity': 50,
  'SkyCoverage': 'N/A',
  'StationID': 2902,
  'StationName': 'US-195 @ Uniontown',
  'TemperatureInFahrenheit': 71.0,
  'Visibility': None,
  'WindDirection': 175,
  'WindDirectionCardinal': 'S',
  'WindGustSpeedInMPH': 10,
  'WindSpeedInMPH': 2},
 {'BarometricPressure': None,
  'Latitude': 47.4492,
  'Longitude': -117.3853,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502665929000-0700)/',
  'RelativeHumidity': 43,
  'SkyCoverage': 'N/A',
  'StationID': 2903,
  'StationName': 'US-195 @ Spangle',
  'TemperatureInFahrenheit': 72.0,
  'Visibility': None,
  'WindDirection': 175,
  'WindDirectionCardinal': 'S',
  'WindGustSpeedInMPH': 19,
  'WindSpeedInMPH': 12},
 {'BarometricPressure': None,
  'Latitude': 47.3933,
  'Longitude': -121.4734,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666738000-0700)/',
  'RelativeHumidity': 82,
  'SkyCoverage': 'N/A',
  'StationID': 2955,
  'StationName': 'Asahel Curtis',
  'TemperatureInFahrenheit': 60.0,
  'Visibility': None,
  'WindDirection': 10,
  'WindDirectionCardinal': 'N',
  'WindGustSpeedInMPH': 0,
  'WindSpeedInMPH': 0},
 {'BarometricPressure': None,
  'Latitude': 47.5358,
  'Longitude': -124.333,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666597000-0700)/',
  'RelativeHumidity': 72,
  'SkyCoverage': 'N/A',
  'StationID': 2956,
  'StationName': 'QUEETS',
  'TemperatureInFahrenheit': None,
  'Visibility': None,
  'WindDirection': 311,
  'WindDirectionCardinal': 'NE',
  'WindGustSpeedInMPH': 11,
  'WindSpeedInMPH': 4},
 {'BarometricPressure': None,
  'Latitude': 47.0849,
  'Longitude': -123.0331,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666673000-0700)/',
  'RelativeHumidity': 49,
  'SkyCoverage': 'N/A',
  'StationID': 2957,
  'StationName': 'Oyster Bay Rd',
  'TemperatureInFahrenheit': 72.0,
  'Visibility': None,
  'WindDirection': 246,
  'WindDirectionCardinal': 'SW',
  'WindGustSpeedInMPH': 18,
  'WindSpeedInMPH': 9},
 {'BarometricPressure': None,
  'Latitude': 47.3029,
  'Longitude': -124.2504,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666667000-0700)/',
  'RelativeHumidity': 77,
  'SkyCoverage': 'N/A',
  'StationID': 2958,
  'StationName': 'Pt. Grenville',
  'TemperatureInFahrenheit': 63.0,
  'Visibility': None,
  'WindDirection': 299,
  'WindDirectionCardinal': 'NE',
  'WindGustSpeedInMPH': 17,
  'WindSpeedInMPH': 3},
 {'BarometricPressure': 966.9,
  'Latitude': 47.1036,
  'Longitude': -119.5586,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666221000-0700)/',
  'RelativeHumidity': None,
  'SkyCoverage': 'N/A',
  'StationID': 2994,
  'StationName': 'Dodson Road',
  'TemperatureInFahrenheit': 82.0,
  'Visibility': None,
  'WindDirection': 257,
  'WindDirectionCardinal': 'W',
  'WindGustSpeedInMPH': 28,
  'WindSpeedInMPH': 23},
 {'BarometricPressure': 967.7,
  'Latitude': 46.0446,
  'Longitude': -119.2246,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502667028000-0700)/',
  'RelativeHumidity': 33,
  'SkyCoverage': 'N/A',
  'StationID': 2995,
  'StationName': 'Horse Heaven',
  'TemperatureInFahrenheit': 78.0,
  'Visibility': None,
  'WindDirection': 213,
  'WindDirectionCardinal': 'SW',
  'WindGustSpeedInMPH': 22,
  'WindSpeedInMPH': 17},
 {'BarometricPressure': None,
  'Latitude': 47.7292,
  'Longitude': -120.7391,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666894000-0700)/',
  'RelativeHumidity': 38,
  'SkyCoverage': 'N/A',
  'StationID': 3000,
  'StationName': 'Winton',
  'TemperatureInFahrenheit': 70.0,
  'Visibility': None,
  'WindDirection': 61,
  'WindDirectionCardinal': 'NE',
  'WindGustSpeedInMPH': 12,
  'WindSpeedInMPH': 3},
 {'BarometricPressure': 975.5,
  'Latitude': 47.8727,
  'Longitude': -119.9202,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666922000-0700)/',
  'RelativeHumidity': 25,
  'SkyCoverage': 'N/A',
  'StationID': 3001,
  'StationName': 'Chelan',
  'TemperatureInFahrenheit': 83.0,
  'Visibility': None,
  'WindDirection': 210,
  'WindDirectionCardinal': 'SW',
  'WindGustSpeedInMPH': 23,
  'WindSpeedInMPH': 18},
 {'BarometricPressure': None,
  'Latitude': 47.1821,
  'Longitude': -121.0313,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666452000-0700)/',
  'RelativeHumidity': 44,
  'SkyCoverage': 'N/A',
  'StationID': 3002,
  'StationName': 'Bullfrog',
  'TemperatureInFahrenheit': 69.0,
  'Visibility': None,
  'WindDirection': 255,
  'WindDirectionCardinal': 'W',
  'WindGustSpeedInMPH': 21,
  'WindSpeedInMPH': 8},
 {'BarometricPressure': 971.5,
  'Latitude': 46.1314,
  'Longitude': -119.6017,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502667021000-0700)/',
  'RelativeHumidity': 33,
  'SkyCoverage': 'N/A',
  'StationID': 3004,
  'StationName': 'Sellards Road on SR 221',
  'TemperatureInFahrenheit': 80.0,
  'Visibility': None,
  'WindDirection': 243,
  'WindDirectionCardinal': 'SW',
  'WindGustSpeedInMPH': 12,
  'WindSpeedInMPH': 6},
 {'BarometricPressure': 980.5,
  'Latitude': 46.2504,
  'Longitude': -119.3695,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502667013000-0700)/',
  'RelativeHumidity': 35,
  'SkyCoverage': 'N/A',
  'StationID': 3005,
  'StationName': 'I-82 on I-182',
  'TemperatureInFahrenheit': 80.0,
  'Visibility': None,
  'WindDirection': 219,
  'WindDirectionCardinal': 'SW',
  'WindGustSpeedInMPH': 18,
  'WindSpeedInMPH': 13},
 {'BarometricPressure': None,
  'Latitude': 48.876,
  'Longitude': -117.3483,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502664709000-0700)/',
  'RelativeHumidity': 51,
  'SkyCoverage': 'N/A',
  'StationID': 3007,
  'StationName': 'Metaline Fall on SR31@MP16.69',
  'TemperatureInFahrenheit': 67.0,
  'Visibility': None,
  'WindDirection': 170,
  'WindDirectionCardinal': 'S',
  'WindGustSpeedInMPH': 8,
  'WindSpeedInMPH': 5},
 {'BarometricPressure': 998.8,
  'Latitude': 47.532,
  'Longitude': -121.985,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502667021000-0700)/',
  'RelativeHumidity': None,
  'SkyCoverage': 'N/A',
  'StationID': 3038,
  'StationName': 'I-90 at Sunset',
  'TemperatureInFahrenheit': None,
  'Visibility': None,
  'WindDirection': 270,
  'WindDirectionCardinal': 'W',
  'WindGustSpeedInMPH': 9,
  'WindSpeedInMPH': 6},
 {'BarometricPressure': 987.3,
  'Latitude': 46.2176,
  'Longitude': -119.7489,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502667005000-0700)/',
  'RelativeHumidity': 35,
  'SkyCoverage': 'N/A',
  'StationID': 3110,
  'StationName': 'Prosser',
  'TemperatureInFahrenheit': 84.0,
  'Visibility': None,
  'WindDirection': 291,
  'WindDirectionCardinal': 'W',
  'WindGustSpeedInMPH': 13,
  'WindSpeedInMPH': 6},
 {'BarometricPressure': 976.6,
  'Latitude': 46.5385,
  'Longitude': -120.4718,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666488000-0700)/',
  'RelativeHumidity': 25,
  'SkyCoverage': 'N/A',
  'StationID': 3111,
  'StationName': 'Parker',
  'TemperatureInFahrenheit': 82.0,
  'Visibility': None,
  'WindDirection': 95,
  'WindDirectionCardinal': 'E',
  'WindGustSpeedInMPH': 12,
  'WindSpeedInMPH': 7},
 {'BarometricPressure': 977.4,
  'Latitude': 46.5384,
  'Longitude': -120.472,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666439000-0700)/',
  'RelativeHumidity': 26,
  'SkyCoverage': 'N/A',
  'StationID': 3112,
  'StationName': 'Union Gap',
  'TemperatureInFahrenheit': 82.0,
  'Visibility': None,
  'WindDirection': 291,
  'WindDirectionCardinal': 'W',
  'WindGustSpeedInMPH': 8,
  'WindSpeedInMPH': 6},
 {'BarometricPressure': None,
  'Latitude': 46.393,
  'Longitude': -120.2411,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666428000-0700)/',
  'RelativeHumidity': 32,
  'SkyCoverage': 'N/A',
  'StationID': 3113,
  'StationName': 'Zillah',
  'TemperatureInFahrenheit': 82.0,
  'Visibility': None,
  'WindDirection': 196,
  'WindDirectionCardinal': 'S',
  'WindGustSpeedInMPH': 5,
  'WindSpeedInMPH': 4},
 {'BarometricPressure': 981.4,
  'Latitude': 46.3266,
  'Longitude': -120.0779,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666416000-0700)/',
  'RelativeHumidity': 35,
  'SkyCoverage': 'N/A',
  'StationID': 3114,
  'StationName': 'Outlook',
  'TemperatureInFahrenheit': 83.0,
  'Visibility': None,
  'WindDirection': 270,
  'WindDirectionCardinal': 'W',
  'WindGustSpeedInMPH': 1,
  'WindSpeedInMPH': 0},
 {'BarometricPressure': None,
  'Latitude': 47.0677,
  'Longitude': -122.7158,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666747000-0700)/',
  'RelativeHumidity': 49,
  'SkyCoverage': 'N/A',
  'StationID': 3234,
  'StationName': 'Nisqually on I-5 @ MP 116',
  'TemperatureInFahrenheit': 73.0,
  'Visibility': None,
  'WindDirection': 180,
  'WindDirectionCardinal': 'S',
  'WindGustSpeedInMPH': 11,
  'WindSpeedInMPH': 6},
 {'BarometricPressure': 874.1,
  'Latitude': 48.3904,
  'Longitude': -119.8792,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666289000-0700)/',
  'RelativeHumidity': 28,
  'SkyCoverage': 'N/A',
  'StationID': 3235,
  'StationName': 'Loup Loup Pass on SR 20',
  'TemperatureInFahrenheit': 71.0,
  'Visibility': None,
  'WindDirection': 246,
  'WindDirectionCardinal': 'SW',
  'WindGustSpeedInMPH': 1,
  'WindSpeedInMPH': 0},
 {'BarometricPressure': None,
  'Latitude': 47.8584,
  'Longitude': -122.6216,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666906000-0700)/',
  'RelativeHumidity': 72,
  'SkyCoverage': 'N/A',
  'StationID': 3265,
  'StationName': 'Hood Canal Bridge',
  'TemperatureInFahrenheit': 62.0,
  'Visibility': None,
  'WindDirection': None,
  'WindDirectionCardinal': 'N/A',
  'WindGustSpeedInMPH': None,
  'WindSpeedInMPH': None},
 {'BarometricPressure': 1015.6,
  'Latitude': 48.446,
  'Longitude': -122.432,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502667022000-0700)/',
  'RelativeHumidity': 49,
  'SkyCoverage': 'N/A',
  'StationID': 3267,
  'StationName': 'MOUNT VERNON',
  'TemperatureInFahrenheit': 67.0,
  'Visibility': None,
  'WindDirection': 0,
  'WindDirectionCardinal': 'N',
  'WindGustSpeedInMPH': 0,
  'WindSpeedInMPH': 0},
 {'BarometricPressure': 1000.2,
  'Latitude': 47.9163,
  'Longitude': -122.2072,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502667024000-0700)/',
  'RelativeHumidity': 82,
  'SkyCoverage': 'N/A',
  'StationID': 3268,
  'StationName': 'SR526 INTERCHANGE',
  'TemperatureInFahrenheit': 65.0,
  'Visibility': None,
  'WindDirection': 330,
  'WindDirectionCardinal': 'NE',
  'WindGustSpeedInMPH': 17,
  'WindSpeedInMPH': 9},
 {'BarometricPressure': 924.1,
  'Latitude': 47.9803,
  'Longitude': -122.188,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502667025000-0700)/',
  'RelativeHumidity': 2,
  'SkyCoverage': 'N/A',
  'StationID': 3269,
  'StationName': 'SR2 @ I-5 INTERCHANGE EVERETT',
  'TemperatureInFahrenheit': 70.0,
  'Visibility': None,
  'WindDirection': 280,
  'WindDirectionCardinal': 'W',
  'WindGustSpeedInMPH': 18,
  'WindSpeedInMPH': 9},
 {'BarometricPressure': 1012.0,
  'Latitude': 48.2042,
  'Longitude': -122.2142,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502667025000-0700)/',
  'RelativeHumidity': None,
  'SkyCoverage': 'N/A',
  'StationID': 3270,
  'StationName': 'STILLIGUAMISH RIVER',
  'TemperatureInFahrenheit': 68.0,
  'Visibility': None,
  'WindDirection': 340,
  'WindDirectionCardinal': 'N',
  'WindGustSpeedInMPH': 1,
  'WindSpeedInMPH': 0},
 {'BarometricPressure': 996.1,
  'Latitude': 47.8139,
  'Longitude': -121.5709,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502667031000-0700)/',
  'RelativeHumidity': 64,
  'SkyCoverage': 'N/A',
  'StationID': 3271,
  'StationName': 'INDEX GALENA ROAD',
  'TemperatureInFahrenheit': 64.0,
  'Visibility': None,
  'WindDirection': 306,
  'WindDirectionCardinal': 'NE',
  'WindGustSpeedInMPH': 4,
  'WindSpeedInMPH': 2},
 {'BarometricPressure': 882.0,
  'Latitude': 46.500278,
  'Longitude': -119.611667,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666536000-0700)/',
  'RelativeHumidity': None,
  'SkyCoverage': 'N/A',
  'StationID': 3273,
  'StationName': 'SR240 @ Beloit',
  'TemperatureInFahrenheit': 83.0,
  'Visibility': None,
  'WindDirection': 310,
  'WindDirectionCardinal': 'NE',
  'WindGustSpeedInMPH': 19,
  'WindSpeedInMPH': 7},
 {'BarometricPressure': None,
  'Latitude': 46.467063,
  'Longitude': -119.541111,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666537000-0700)/',
  'RelativeHumidity': 29,
  'SkyCoverage': 'N/A',
  'StationID': 3274,
  'StationName': 'SR240 @ Mid Hanford',
  'TemperatureInFahrenheit': 85.0,
  'Visibility': None,
  'WindDirection': 295,
  'WindDirectionCardinal': 'NE',
  'WindGustSpeedInMPH': 12,
  'WindSpeedInMPH': 9},
 {'BarometricPressure': None,
  'Latitude': 46.383155,
  'Longitude': -119.422786,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666539000-0700)/',
  'RelativeHumidity': 33,
  'SkyCoverage': 'N/A',
  'StationID': 3275,
  'StationName': 'SR240 @ SR225 Horn Rd ',
  'TemperatureInFahrenheit': 84.0,
  'Visibility': None,
  'WindDirection': 180,
  'WindDirectionCardinal': 'S',
  'WindGustSpeedInMPH': 21,
  'WindSpeedInMPH': 14},
 {'BarometricPressure': None,
  'Latitude': 46.325574,
  'Longitude': -119.316126,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666540000-0700)/',
  'RelativeHumidity': 36,
  'SkyCoverage': 'N/A',
  'StationID': 3276,
  'StationName': 'SR240 @ Twin Bridges',
  'TemperatureInFahrenheit': 85.0,
  'Visibility': None,
  'WindDirection': 190,
  'WindDirectionCardinal': 'S',
  'WindGustSpeedInMPH': 21,
  'WindSpeedInMPH': 14},
 {'BarometricPressure': 1011.1,
  'Latitude': 47.303516,
  'Longitude': -122.232946,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502667036000-0700)/',
  'RelativeHumidity': 52,
  'SkyCoverage': 'N/A',
  'StationID': 3277,
  'StationName': 'SR 18 @ C St, Auburn',
  'TemperatureInFahrenheit': 72.0,
  'Visibility': None,
  'WindDirection': 275,
  'WindDirectionCardinal': 'W',
  'WindGustSpeedInMPH': 8,
  'WindSpeedInMPH': 5},
 {'BarometricPressure': 605.5,
  'Latitude': 46.049483,
  'Longitude': -118.495917,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666542000-0700)/',
  'RelativeHumidity': 65,
  'SkyCoverage': 'N/A',
  'StationID': 3295,
  'StationName': 'SR12 @ Frenchtown Rd MP 328.75',
  'TemperatureInFahrenheit': 82.0,
  'Visibility': None,
  'WindDirection': 0,
  'WindDirectionCardinal': 'N',
  'WindGustSpeedInMPH': 0,
  'WindSpeedInMPH': 0},
 {'BarometricPressure': 1003.0,
  'Latitude': 47.8309668,
  'Longitude': -122.262359231,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502667038000-0700)/',
  'RelativeHumidity': 61,
  'SkyCoverage': 'N/A',
  'StationID': 3752,
  'StationName': 'I-5 at I-405',
  'TemperatureInFahrenheit': 65.0,
  'Visibility': None,
  'WindDirection': 0,
  'WindDirectionCardinal': 'N',
  'WindGustSpeedInMPH': 13,
  'WindSpeedInMPH': 7},
 {'BarometricPressure': None,
  'Latitude': 46.80226113,
  'Longitude': -123.007164104,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666746000-0700)/',
  'RelativeHumidity': 52,
  'SkyCoverage': 'N/A',
  'StationID': 3776,
  'StationName': 'GRAND MOUND',
  'TemperatureInFahrenheit': 71.0,
  'Visibility': None,
  'WindDirection': 292,
  'WindDirectionCardinal': 'W',
  'WindGustSpeedInMPH': 12,
  'WindSpeedInMPH': 6},
 {'BarometricPressure': 29.9,
  'Latitude': 47.640394,
  'Longitude': -122.258735,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666640000-0700)/',
  'RelativeHumidity': 60,
  'SkyCoverage': 'N/A',
  'StationID': 3814,
  'StationName': 'SR 520 Bridge',
  'TemperatureInFahrenheit': 68.0,
  'Visibility': None,
  'WindDirection': 332,
  'WindDirectionCardinal': 'NNW',
  'WindGustSpeedInMPH': 15,
  'WindSpeedInMPH': 13},
 {'BarometricPressure': 972.7,
  'Latitude': 46.763142629,
  'Longitude': -122.192029836,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666748000-0700)/',
  'RelativeHumidity': 53,
  'SkyCoverage': 'N/A',
  'StationID': 3830,
  'StationName': 'SR 7 @ SR 706 Elbe ',
  'TemperatureInFahrenheit': 69.0,
  'Visibility': None,
  'WindDirection': 300,
  'WindDirectionCardinal': 'NE',
  'WindGustSpeedInMPH': 8,
  'WindSpeedInMPH': 3},
 {'BarometricPressure': 1011.2,
  'Latitude': 48.963854,
  'Longitude': -122.484913,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502667039000-0700)/',
  'RelativeHumidity': 52,
  'SkyCoverage': 'N/A',
  'StationID': 3832,
  'StationName': 'SR 539 at SR 546 (Badger Rd)',
  'TemperatureInFahrenheit': 72.0,
  'Visibility': None,
  'WindDirection': 225,
  'WindDirectionCardinal': 'SW',
  'WindGustSpeedInMPH': 16,
  'WindSpeedInMPH': 9},
 {'BarometricPressure': 1012.3,
  'Latitude': 48.891981,
  'Longitude': -122.48569,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502667041000-0700)/',
  'RelativeHumidity': 47,
  'SkyCoverage': 'N/A',
  'StationID': 3833,
  'StationName': 'SR 539 at SR 544 (Pole Rd)',
  'TemperatureInFahrenheit': 72.0,
  'Visibility': None,
  'WindDirection': 155,
  'WindDirectionCardinal': 'SE',
  'WindGustSpeedInMPH': 15,
  'WindSpeedInMPH': 10},
 {'BarometricPressure': 1012.9,
  'Latitude': 47.847408802,
  'Longitude': -122.00975975,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502667042000-0700)/',
  'RelativeHumidity': 60,
  'SkyCoverage': 'N/A',
  'StationID': 3841,
  'StationName': 'SR 522 at Main St',
  'TemperatureInFahrenheit': 67.0,
  'Visibility': None,
  'WindDirection': 5,
  'WindDirectionCardinal': 'N',
  'WindGustSpeedInMPH': 10,
  'WindSpeedInMPH': 6},
 {'BarometricPressure': 1014.3,
  'Latitude': 47.353395,
  'Longitude': -122.244567187,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502667044000-0700)/',
  'RelativeHumidity': 52,
  'SkyCoverage': 'N/A',
  'StationID': 3852,
  'StationName': 'SR 167 at S 277th St',
  'TemperatureInFahrenheit': 71.0,
  'Visibility': None,
  'WindDirection': 285,
  'WindDirectionCardinal': 'W',
  'WindGustSpeedInMPH': 12,
  'WindSpeedInMPH': 8},
 {'BarometricPressure': None,
  'Latitude': 47.263826124,
  'Longitude': -122.545658013,
  'PrecipitationInInches': None,
  'ReadingTime': '/Date(1502666905000-0700)/',
  'RelativeHumidity': None,
  'SkyCoverage': 'N/A',
  'StationID': 3854,
  'StationName': 'Tacoma Narrows Bridge',
  'TemperatureInFahrenheit': None,
  'Visibility': None,
  'WindDirection': 210,
  'WindDirectionCardinal': 'SW',
  'WindGustSpeedInMPH': 9,
  'WindSpeedInMPH': 3}]

We've proved that we have readable json; let's convert it into a dataframe

In [37]:
wsdot_weather_df = json_normalize(raw_json)
wsdot_weather_df
Out[37]:
BarometricPressure Latitude Longitude PrecipitationInInches ReadingTime RelativeHumidity SkyCoverage StationID StationName TemperatureInFahrenheit Visibility WindDirection WindDirectionCardinal WindGustSpeedInMPH WindSpeedInMPH
0 1010.1 47.474800 -122.270400 None /Date(1502667002000-0700)/ 59.0 N/A 1909 SB I-5 144th 71.0 None 355.0 N 12.0 7.0
1 1014.8 47.760633 -122.184048 None /Date(1502667016000-0700)/ 57.0 N/A 1910 SB I-405 N.E. 195th 68.0 None 65.0 NE 9.0 2.0
2 981.5 47.509000 -121.885000 None /Date(1502667008000-0700)/ 67.0 N/A 1928 EB I-90 @ SR-18 Echo Lake 68.0 None 125.0 SE 6.0 2.0
3 1002.6 47.726000 -122.324000 None /Date(1502667001000-0700)/ 64.0 N/A 1966 130th Street 67.0 None 235.0 SW 0.0 0.0
4 NaN 46.436000 -117.350000 None /Date(1502666981000-0700)/ 46.0 N/A 1968 Alpowa Summit 71.0 None 260.0 W 16.0 9.0
5 NaN 47.033800 -123.097100 None /Date(1502667000000-0700)/ 52.0 N/A 1970 Rock Candy Mountain 70.0 None 181.0 S 17.0 4.0
6 NaN 47.555500 -120.586600 None /Date(1502666776000-0700)/ 26.0 N/A 1972 Dryden Road 84.0 None 0.0 N 12.0 5.0
7 NaN 47.269100 -121.239200 None /Date(1502666732000-0700)/ 49.0 N/A 1973 Easton Hill 66.0 None 5.0 N 16.0 5.0
8 NaN 48.070300 -124.049000 None /Date(1502666845000-0700)/ 42.0 N/A 1975 Heckelville Shed 61.0 None 45.0 NE 13.0 7.0
9 NaN 46.887000 -120.427000 None /Date(1502666499000-0700)/ 99.0 N/A 1977 Manastash Ridge Eastbound 70.0 None 325.0 NE 28.0 20.0
10 NaN 46.928000 -120.500000 None /Date(1502666515000-0700)/ 36.0 N/A 1978 Manastash Ridge Westbound 74.0 None 285.0 W 29.0 20.0
11 NaN 47.305082 -121.305688 None /Date(1502666726000-0700)/ 46.0 N/A 1979 Stampede Overpass 69.0 None 231.0 SW 15.0 2.0
12 NaN 47.078000 -120.724000 None /Date(1502666472000-0700)/ 35.0 N/A 1980 Rocky Canyon 75.0 None 305.0 NE 31.0 21.0
13 NaN 46.943000 -120.165000 None /Date(1502666528000-0700)/ 24.0 N/A 1981 Ryegrass Summit 72.0 None 185.0 S 39.0 32.0
14 996.5 48.688000 -122.400000 None /Date(1502667014000-0700)/ 55.0 N/A 1982 Lake Samish Park and Ride 69.0 None 95.0 E 11.0 4.0
15 NaN 47.745900 -121.089100 None /Date(1502666771000-0700)/ NaN N/A 1984 Stevens Pass NaN None NaN N/A NaN NaN
16 1013.7 48.992000 -122.272000 None /Date(1502667018000-0700)/ 49.0 N/A 1985 SUMAS SR 9 AT FRONT ST (SR 547) 72.0 None 0.0 N 15.0 6.0
17 NaN 47.043000 -119.916000 None /Date(1502667004000-0700)/ 26.0 N/A 1987 Silica Road 80.0 None 280.0 W 28.0 16.0
18 NaN 47.085000 -119.006000 None /Date(1502667010000-0700)/ 40.0 N/A 1988 Warden Interchange 81.0 None 170.0 S 18.0 11.0
19 NaN 47.113000 -120.786000 None /Date(1502666522000-0700)/ 99.0 N/A 1989 Elk Heights 69.0 None 245.0 SW 21.0 9.0
20 NaN 48.050400 -122.952300 None /Date(1502663594000-0700)/ 47.0 N/A 2044 Diamond Point 65.0 None 290.0 W 18.0 10.0
21 NaN 48.093800 -123.278300 None /Date(1502667004000-0700)/ 68.0 N/A 2045 Seibert Creek Bridge 61.0 None 239.0 SW 26.0 13.0
22 NaN 47.443500 -121.669400 None /Date(1502666721000-0700)/ 42.0 N/A 2068 Snoqualmie River Bridge 67.0 None 210.0 SW 6.0 2.0
23 994.8 47.473000 -121.742000 None /Date(1502667011000-0700)/ NaN N/A 2069 WB I-90 near Tanner Crossing NaN None NaN N/A NaN NaN
24 NaN 47.427000 -121.418000 None /Date(1502666572000-0700)/ 50.0 N/A 2085 Alpental Exit 60.0 None 0.0 N 13.0 9.0
25 NaN 47.334800 -120.577100 None /Date(1502666766000-0700)/ 41.0 N/A 2108 Blewett Pass 68.0 None 270.0 W 9.0 2.0
26 NaN 46.638000 -121.390000 None /Date(1502666534000-0700)/ 68.0 N/A 2139 White Pass Summit 56.0 None 90.0 E 13.0 4.0
27 NaN 47.301900 -120.067800 None /Date(1502666822000-0700)/ 24.0 N/A 2173 Palisades 84.0 None 15.0 N 21.0 13.0
28 NaN 47.233100 -119.958200 None /Date(1502666828000-0700)/ 83.0 N/A 2174 Quincy Rest Area 82.0 None 145.0 SE 13.0 7.0
29 NaN 47.815600 -119.363000 None /Date(1502666882000-0700)/ 23.0 N/A 2175 Mansfield 79.0 None 235.0 SW 0.0 0.0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
72 NaN 48.876000 -117.348300 None /Date(1502664709000-0700)/ 51.0 N/A 3007 Metaline Fall on SR31@MP16.69 67.0 None 170.0 S 8.0 5.0
73 998.8 47.532000 -121.985000 None /Date(1502667021000-0700)/ NaN N/A 3038 I-90 at Sunset NaN None 270.0 W 9.0 6.0
74 987.3 46.217600 -119.748900 None /Date(1502667005000-0700)/ 35.0 N/A 3110 Prosser 84.0 None 291.0 W 13.0 6.0
75 976.6 46.538500 -120.471800 None /Date(1502666488000-0700)/ 25.0 N/A 3111 Parker 82.0 None 95.0 E 12.0 7.0
76 977.4 46.538400 -120.472000 None /Date(1502666439000-0700)/ 26.0 N/A 3112 Union Gap 82.0 None 291.0 W 8.0 6.0
77 NaN 46.393000 -120.241100 None /Date(1502666428000-0700)/ 32.0 N/A 3113 Zillah 82.0 None 196.0 S 5.0 4.0
78 981.4 46.326600 -120.077900 None /Date(1502666416000-0700)/ 35.0 N/A 3114 Outlook 83.0 None 270.0 W 1.0 0.0
79 NaN 47.067700 -122.715800 None /Date(1502666747000-0700)/ 49.0 N/A 3234 Nisqually on I-5 @ MP 116 73.0 None 180.0 S 11.0 6.0
80 874.1 48.390400 -119.879200 None /Date(1502666289000-0700)/ 28.0 N/A 3235 Loup Loup Pass on SR 20 71.0 None 246.0 SW 1.0 0.0
81 NaN 47.858400 -122.621600 None /Date(1502666906000-0700)/ 72.0 N/A 3265 Hood Canal Bridge 62.0 None NaN N/A NaN NaN
82 1015.6 48.446000 -122.432000 None /Date(1502667022000-0700)/ 49.0 N/A 3267 MOUNT VERNON 67.0 None 0.0 N 0.0 0.0
83 1000.2 47.916300 -122.207200 None /Date(1502667024000-0700)/ 82.0 N/A 3268 SR526 INTERCHANGE 65.0 None 330.0 NE 17.0 9.0
84 924.1 47.980300 -122.188000 None /Date(1502667025000-0700)/ 2.0 N/A 3269 SR2 @ I-5 INTERCHANGE EVERETT 70.0 None 280.0 W 18.0 9.0
85 1012.0 48.204200 -122.214200 None /Date(1502667025000-0700)/ NaN N/A 3270 STILLIGUAMISH RIVER 68.0 None 340.0 N 1.0 0.0
86 996.1 47.813900 -121.570900 None /Date(1502667031000-0700)/ 64.0 N/A 3271 INDEX GALENA ROAD 64.0 None 306.0 NE 4.0 2.0
87 882.0 46.500278 -119.611667 None /Date(1502666536000-0700)/ NaN N/A 3273 SR240 @ Beloit 83.0 None 310.0 NE 19.0 7.0
88 NaN 46.467063 -119.541111 None /Date(1502666537000-0700)/ 29.0 N/A 3274 SR240 @ Mid Hanford 85.0 None 295.0 NE 12.0 9.0
89 NaN 46.383155 -119.422786 None /Date(1502666539000-0700)/ 33.0 N/A 3275 SR240 @ SR225 Horn Rd 84.0 None 180.0 S 21.0 14.0
90 NaN 46.325574 -119.316126 None /Date(1502666540000-0700)/ 36.0 N/A 3276 SR240 @ Twin Bridges 85.0 None 190.0 S 21.0 14.0
91 1011.1 47.303516 -122.232946 None /Date(1502667036000-0700)/ 52.0 N/A 3277 SR 18 @ C St, Auburn 72.0 None 275.0 W 8.0 5.0
92 605.5 46.049483 -118.495917 None /Date(1502666542000-0700)/ 65.0 N/A 3295 SR12 @ Frenchtown Rd MP 328.75 82.0 None 0.0 N 0.0 0.0
93 1003.0 47.830967 -122.262359 None /Date(1502667038000-0700)/ 61.0 N/A 3752 I-5 at I-405 65.0 None 0.0 N 13.0 7.0
94 NaN 46.802261 -123.007164 None /Date(1502666746000-0700)/ 52.0 N/A 3776 GRAND MOUND 71.0 None 292.0 W 12.0 6.0
95 29.9 47.640394 -122.258735 None /Date(1502666640000-0700)/ 60.0 N/A 3814 SR 520 Bridge 68.0 None 332.0 NNW 15.0 13.0
96 972.7 46.763143 -122.192030 None /Date(1502666748000-0700)/ 53.0 N/A 3830 SR 7 @ SR 706 Elbe 69.0 None 300.0 NE 8.0 3.0
97 1011.2 48.963854 -122.484913 None /Date(1502667039000-0700)/ 52.0 N/A 3832 SR 539 at SR 546 (Badger Rd) 72.0 None 225.0 SW 16.0 9.0
98 1012.3 48.891981 -122.485690 None /Date(1502667041000-0700)/ 47.0 N/A 3833 SR 539 at SR 544 (Pole Rd) 72.0 None 155.0 SE 15.0 10.0
99 1012.9 47.847409 -122.009760 None /Date(1502667042000-0700)/ 60.0 N/A 3841 SR 522 at Main St 67.0 None 5.0 N 10.0 6.0
100 1014.3 47.353395 -122.244567 None /Date(1502667044000-0700)/ 52.0 N/A 3852 SR 167 at S 277th St 71.0 None 285.0 W 12.0 8.0
101 NaN 47.263826 -122.545658 None /Date(1502666905000-0700)/ NaN N/A 3854 Tacoma Narrows Bridge NaN None 210.0 SW 9.0 3.0

102 rows × 15 columns

Sure enough, same Date-time problem as the traffic file. We'll (re) use the CleanseWSDOTTraffic() function we wrote above, after iterating over all files in the wsdot_weather folder to make one big dataframe (that we only need to cleanse once).

In [38]:
clean_wsdot_weather_df = cleanseWSDOTdate(wsdot_weather_df, 'ReadingTime')
clean_wsdot_weather_df
Out[38]:
BarometricPressure Latitude Longitude PrecipitationInInches ReadingTime RelativeHumidity SkyCoverage StationID StationName TemperatureInFahrenheit Visibility WindDirection WindDirectionCardinal WindGustSpeedInMPH WindSpeedInMPH ReadingTime_timestamp
0 1010.1 47.474800 -122.270400 None 1502667002000 59.0 N/A 1909 SB I-5 144th 71.0 None 355.0 N 12.0 7.0 2017-08-13 09:30:02
1 1014.8 47.760633 -122.184048 None 1502667016000 57.0 N/A 1910 SB I-405 N.E. 195th 68.0 None 65.0 NE 9.0 2.0 2017-08-13 09:30:16
2 981.5 47.509000 -121.885000 None 1502667008000 67.0 N/A 1928 EB I-90 @ SR-18 Echo Lake 68.0 None 125.0 SE 6.0 2.0 2017-08-13 09:30:08
3 1002.6 47.726000 -122.324000 None 1502667001000 64.0 N/A 1966 130th Street 67.0 None 235.0 SW 0.0 0.0 2017-08-13 09:30:01
4 NaN 46.436000 -117.350000 None 1502666981000 46.0 N/A 1968 Alpowa Summit 71.0 None 260.0 W 16.0 9.0 2017-08-13 09:29:41
5 NaN 47.033800 -123.097100 None 1502667000000 52.0 N/A 1970 Rock Candy Mountain 70.0 None 181.0 S 17.0 4.0 2017-08-13 09:30:00
6 NaN 47.555500 -120.586600 None 1502666776000 26.0 N/A 1972 Dryden Road 84.0 None 0.0 N 12.0 5.0 2017-08-13 09:26:16
7 NaN 47.269100 -121.239200 None 1502666732000 49.0 N/A 1973 Easton Hill 66.0 None 5.0 N 16.0 5.0 2017-08-13 09:25:32
8 NaN 48.070300 -124.049000 None 1502666845000 42.0 N/A 1975 Heckelville Shed 61.0 None 45.0 NE 13.0 7.0 2017-08-13 09:27:25
9 NaN 46.887000 -120.427000 None 1502666499000 99.0 N/A 1977 Manastash Ridge Eastbound 70.0 None 325.0 NE 28.0 20.0 2017-08-13 09:21:39
10 NaN 46.928000 -120.500000 None 1502666515000 36.0 N/A 1978 Manastash Ridge Westbound 74.0 None 285.0 W 29.0 20.0 2017-08-13 09:21:55
11 NaN 47.305082 -121.305688 None 1502666726000 46.0 N/A 1979 Stampede Overpass 69.0 None 231.0 SW 15.0 2.0 2017-08-13 09:25:26
12 NaN 47.078000 -120.724000 None 1502666472000 35.0 N/A 1980 Rocky Canyon 75.0 None 305.0 NE 31.0 21.0 2017-08-13 09:21:12
13 NaN 46.943000 -120.165000 None 1502666528000 24.0 N/A 1981 Ryegrass Summit 72.0 None 185.0 S 39.0 32.0 2017-08-13 09:22:08
14 996.5 48.688000 -122.400000 None 1502667014000 55.0 N/A 1982 Lake Samish Park and Ride 69.0 None 95.0 E 11.0 4.0 2017-08-13 09:30:14
15 NaN 47.745900 -121.089100 None 1502666771000 NaN N/A 1984 Stevens Pass NaN None NaN N/A NaN NaN 2017-08-13 09:26:11
16 1013.7 48.992000 -122.272000 None 1502667018000 49.0 N/A 1985 SUMAS SR 9 AT FRONT ST (SR 547) 72.0 None 0.0 N 15.0 6.0 2017-08-13 09:30:18
17 NaN 47.043000 -119.916000 None 1502667004000 26.0 N/A 1987 Silica Road 80.0 None 280.0 W 28.0 16.0 2017-08-13 09:30:04
18 NaN 47.085000 -119.006000 None 1502667010000 40.0 N/A 1988 Warden Interchange 81.0 None 170.0 S 18.0 11.0 2017-08-13 09:30:10
19 NaN 47.113000 -120.786000 None 1502666522000 99.0 N/A 1989 Elk Heights 69.0 None 245.0 SW 21.0 9.0 2017-08-13 09:22:02
20 NaN 48.050400 -122.952300 None 1502663594000 47.0 N/A 2044 Diamond Point 65.0 None 290.0 W 18.0 10.0 2017-08-13 08:33:14
21 NaN 48.093800 -123.278300 None 1502667004000 68.0 N/A 2045 Seibert Creek Bridge 61.0 None 239.0 SW 26.0 13.0 2017-08-13 09:30:04
22 NaN 47.443500 -121.669400 None 1502666721000 42.0 N/A 2068 Snoqualmie River Bridge 67.0 None 210.0 SW 6.0 2.0 2017-08-13 09:25:21
23 994.8 47.473000 -121.742000 None 1502667011000 NaN N/A 2069 WB I-90 near Tanner Crossing NaN None NaN N/A NaN NaN 2017-08-13 09:30:11
24 NaN 47.427000 -121.418000 None 1502666572000 50.0 N/A 2085 Alpental Exit 60.0 None 0.0 N 13.0 9.0 2017-08-13 09:22:52
25 NaN 47.334800 -120.577100 None 1502666766000 41.0 N/A 2108 Blewett Pass 68.0 None 270.0 W 9.0 2.0 2017-08-13 09:26:06
26 NaN 46.638000 -121.390000 None 1502666534000 68.0 N/A 2139 White Pass Summit 56.0 None 90.0 E 13.0 4.0 2017-08-13 09:22:14
27 NaN 47.301900 -120.067800 None 1502666822000 24.0 N/A 2173 Palisades 84.0 None 15.0 N 21.0 13.0 2017-08-13 09:27:02
28 NaN 47.233100 -119.958200 None 1502666828000 83.0 N/A 2174 Quincy Rest Area 82.0 None 145.0 SE 13.0 7.0 2017-08-13 09:27:08
29 NaN 47.815600 -119.363000 None 1502666882000 23.0 N/A 2175 Mansfield 79.0 None 235.0 SW 0.0 0.0 2017-08-13 09:28:02
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
72 NaN 48.876000 -117.348300 None 1502664709000 51.0 N/A 3007 Metaline Fall on SR31@MP16.69 67.0 None 170.0 S 8.0 5.0 2017-08-13 08:51:49
73 998.8 47.532000 -121.985000 None 1502667021000 NaN N/A 3038 I-90 at Sunset NaN None 270.0 W 9.0 6.0 2017-08-13 09:30:21
74 987.3 46.217600 -119.748900 None 1502667005000 35.0 N/A 3110 Prosser 84.0 None 291.0 W 13.0 6.0 2017-08-13 09:30:05
75 976.6 46.538500 -120.471800 None 1502666488000 25.0 N/A 3111 Parker 82.0 None 95.0 E 12.0 7.0 2017-08-13 09:21:28
76 977.4 46.538400 -120.472000 None 1502666439000 26.0 N/A 3112 Union Gap 82.0 None 291.0 W 8.0 6.0 2017-08-13 09:20:39
77 NaN 46.393000 -120.241100 None 1502666428000 32.0 N/A 3113 Zillah 82.0 None 196.0 S 5.0 4.0 2017-08-13 09:20:28
78 981.4 46.326600 -120.077900 None 1502666416000 35.0 N/A 3114 Outlook 83.0 None 270.0 W 1.0 0.0 2017-08-13 09:20:16
79 NaN 47.067700 -122.715800 None 1502666747000 49.0 N/A 3234 Nisqually on I-5 @ MP 116 73.0 None 180.0 S 11.0 6.0 2017-08-13 09:25:47
80 874.1 48.390400 -119.879200 None 1502666289000 28.0 N/A 3235 Loup Loup Pass on SR 20 71.0 None 246.0 SW 1.0 0.0 2017-08-13 09:18:09
81 NaN 47.858400 -122.621600 None 1502666906000 72.0 N/A 3265 Hood Canal Bridge 62.0 None NaN N/A NaN NaN 2017-08-13 09:28:26
82 1015.6 48.446000 -122.432000 None 1502667022000 49.0 N/A 3267 MOUNT VERNON 67.0 None 0.0 N 0.0 0.0 2017-08-13 09:30:22
83 1000.2 47.916300 -122.207200 None 1502667024000 82.0 N/A 3268 SR526 INTERCHANGE 65.0 None 330.0 NE 17.0 9.0 2017-08-13 09:30:24
84 924.1 47.980300 -122.188000 None 1502667025000 2.0 N/A 3269 SR2 @ I-5 INTERCHANGE EVERETT 70.0 None 280.0 W 18.0 9.0 2017-08-13 09:30:25
85 1012.0 48.204200 -122.214200 None 1502667025000 NaN N/A 3270 STILLIGUAMISH RIVER 68.0 None 340.0 N 1.0 0.0 2017-08-13 09:30:25
86 996.1 47.813900 -121.570900 None 1502667031000 64.0 N/A 3271 INDEX GALENA ROAD 64.0 None 306.0 NE 4.0 2.0 2017-08-13 09:30:31
87 882.0 46.500278 -119.611667 None 1502666536000 NaN N/A 3273 SR240 @ Beloit 83.0 None 310.0 NE 19.0 7.0 2017-08-13 09:22:16
88 NaN 46.467063 -119.541111 None 1502666537000 29.0 N/A 3274 SR240 @ Mid Hanford 85.0 None 295.0 NE 12.0 9.0 2017-08-13 09:22:17
89 NaN 46.383155 -119.422786 None 1502666539000 33.0 N/A 3275 SR240 @ SR225 Horn Rd 84.0 None 180.0 S 21.0 14.0 2017-08-13 09:22:19
90 NaN 46.325574 -119.316126 None 1502666540000 36.0 N/A 3276 SR240 @ Twin Bridges 85.0 None 190.0 S 21.0 14.0 2017-08-13 09:22:20
91 1011.1 47.303516 -122.232946 None 1502667036000 52.0 N/A 3277 SR 18 @ C St, Auburn 72.0 None 275.0 W 8.0 5.0 2017-08-13 09:30:36
92 605.5 46.049483 -118.495917 None 1502666542000 65.0 N/A 3295 SR12 @ Frenchtown Rd MP 328.75 82.0 None 0.0 N 0.0 0.0 2017-08-13 09:22:22
93 1003.0 47.830967 -122.262359 None 1502667038000 61.0 N/A 3752 I-5 at I-405 65.0 None 0.0 N 13.0 7.0 2017-08-13 09:30:38
94 NaN 46.802261 -123.007164 None 1502666746000 52.0 N/A 3776 GRAND MOUND 71.0 None 292.0 W 12.0 6.0 2017-08-13 09:25:46
95 29.9 47.640394 -122.258735 None 1502666640000 60.0 N/A 3814 SR 520 Bridge 68.0 None 332.0 NNW 15.0 13.0 2017-08-13 09:24:00
96 972.7 46.763143 -122.192030 None 1502666748000 53.0 N/A 3830 SR 7 @ SR 706 Elbe 69.0 None 300.0 NE 8.0 3.0 2017-08-13 09:25:48
97 1011.2 48.963854 -122.484913 None 1502667039000 52.0 N/A 3832 SR 539 at SR 546 (Badger Rd) 72.0 None 225.0 SW 16.0 9.0 2017-08-13 09:30:39
98 1012.3 48.891981 -122.485690 None 1502667041000 47.0 N/A 3833 SR 539 at SR 544 (Pole Rd) 72.0 None 155.0 SE 15.0 10.0 2017-08-13 09:30:41
99 1012.9 47.847409 -122.009760 None 1502667042000 60.0 N/A 3841 SR 522 at Main St 67.0 None 5.0 N 10.0 6.0 2017-08-13 09:30:42
100 1014.3 47.353395 -122.244567 None 1502667044000 52.0 N/A 3852 SR 167 at S 277th St 71.0 None 285.0 W 12.0 8.0 2017-08-13 09:30:44
101 NaN 47.263826 -122.545658 None 1502666905000 NaN N/A 3854 Tacoma Narrows Bridge NaN None 210.0 SW 9.0 3.0 2017-08-13 09:28:25

102 rows × 16 columns

Iterate over all WSDOT json files, assemble one large dataframe

In [39]:
top_folder = jsondir + "/wsdot_weather"
first_time = True

for filename in os.listdir(top_folder):
    filepath = top_folder + "/" + filename

    # print ("about to read " + filename)
    with open(filepath) as json_file:
      raw_json = json.load(json_file)

    new_df = json_normalize(raw_json)
    
    if (first_time):
        first_time = False
        multi_wsdot_weather_df = new_df
    else:
        multi_wsdot_weather_df = multi_wsdot_weather_df.append(new_df, ignore_index=True)

clean_multi_wsdot_weather_df = cleanseWSDOTdate(multi_wsdot_weather_df, 'ReadingTime')
clean_multi_wsdot_weather_df
Out[39]:
BarometricPressure Latitude Longitude PrecipitationInInches ReadingTime RelativeHumidity SkyCoverage StationID StationName TemperatureInFahrenheit Visibility WindDirection WindDirectionCardinal WindGustSpeedInMPH WindSpeedInMPH ReadingTime_timestamp
0 1015.5 47.474800 -122.270400 None 1503018003000 49.0 N/A 1909 SB I-5 144th 76.0 None 355.0 N 8.0 5.0 2017-08-17 11:00:03
1 1018.6 47.760633 -122.184048 None 1503018018000 49.0 N/A 1910 SB I-405 N.E. 195th 76.0 None 95.0 E 9.0 5.0 2017-08-17 11:00:18
2 986.1 47.509000 -121.885000 None 1503018010000 49.0 N/A 1928 EB I-90 @ SR-18 Echo Lake 76.0 None 90.0 E 6.0 4.0 2017-08-17 11:00:10
3 1006.8 47.726000 -122.324000 None 1503018001000 NaN N/A 1966 130th Street NaN None 245.0 SW 0.0 0.0 2017-08-17 11:00:01
4 NaN 46.436000 -117.350000 None 1503017984000 29.0 N/A 1968 Alpowa Summit 80.0 None 285.0 W 18.0 11.0 2017-08-17 10:59:44
5 NaN 47.033800 -123.097100 None 1503018002000 57.0 N/A 1970 Rock Candy Mountain 72.0 None 196.0 S 11.0 4.0 2017-08-17 11:00:02
6 NaN 47.555500 -120.586600 None 1503017476000 26.0 N/A 1972 Dryden Road 92.0 None 0.0 N 8.0 4.0 2017-08-17 10:51:16
7 NaN 47.269100 -121.239200 None 1503017733000 52.0 N/A 1973 Easton Hill 70.0 None 5.0 N 12.0 6.0 2017-08-17 10:55:33
8 NaN 48.070300 -124.049000 None 1503017322000 45.0 N/A 1975 Heckelville Shed 67.0 None 35.0 NE 12.0 5.0 2017-08-17 10:48:42
9 NaN 46.887000 -120.427000 None 1503017502000 99.0 N/A 1977 Manastash Ridge Eastbound 83.0 None 0.0 N 10.0 4.0 2017-08-17 10:51:42
10 NaN 46.928000 -120.500000 None 1503017517000 30.0 N/A 1978 Manastash Ridge Westbound 85.0 None 325.0 NE 8.0 6.0 2017-08-17 10:51:57
11 NaN 47.305082 -121.305688 None 1503017726000 40.0 N/A 1979 Stampede Overpass 74.0 None 184.0 S 9.0 4.0 2017-08-17 10:55:26
12 NaN 47.078000 -120.724000 None 1503017474000 24.0 N/A 1980 Rocky Canyon 86.0 None 295.0 NE 21.0 16.0 2017-08-17 10:51:14
13 NaN 46.943000 -120.165000 None 1503017530000 24.0 N/A 1981 Ryegrass Summit 81.0 None 220.0 SW 21.0 17.0 2017-08-17 10:52:10
14 1001.1 48.688000 -122.400000 None 1503018016000 59.0 N/A 1982 Lake Samish Park and Ride 72.0 None 100.0 E 8.0 4.0 2017-08-17 11:00:16
15 NaN 47.745900 -121.089100 None 1503017471000 NaN N/A 1984 Stevens Pass NaN None NaN N/A NaN NaN 2017-08-17 10:51:11
16 1018.6 48.992000 -122.272000 None 1503018019000 57.0 N/A 1985 SUMAS SR 9 AT FRONT ST (SR 547) 74.0 None 25.0 NE 9.0 6.0 2017-08-17 11:00:19
17 NaN 47.043000 -119.916000 None 1503018004000 23.0 N/A 1987 Silica Road 87.0 None 170.0 S 7.0 0.0 2017-08-17 11:00:04
18 NaN 47.085000 -119.006000 None 1503018011000 35.0 N/A 1988 Warden Interchange 84.0 None 110.0 E 6.0 4.0 2017-08-17 11:00:11
19 NaN 47.113000 -120.786000 None 1503017524000 99.0 N/A 1989 Elk Heights 79.0 None 285.0 W 11.0 4.0 2017-08-17 10:52:04
20 NaN 48.050400 -122.952300 None 1503015764000 47.0 N/A 2044 Diamond Point 66.0 None 320.0 NE 15.0 8.0 2017-08-17 10:22:44
21 NaN 48.093800 -123.278300 None 1503018008000 68.0 N/A 2045 Seibert Creek Bridge 63.0 None 246.0 SW 16.0 9.0 2017-08-17 11:00:08
22 NaN 47.443500 -121.669400 None 1503017721000 26.0 N/A 2068 Snoqualmie River Bridge 74.0 None 280.0 W 11.0 6.0 2017-08-17 10:55:21
23 999.4 47.473000 -121.742000 None 1503018013000 NaN N/A 2069 WB I-90 near Tanner Crossing NaN None NaN N/A NaN NaN 2017-08-17 11:00:13
24 NaN 47.427000 -121.418000 None 1503017572000 43.0 N/A 2085 Alpental Exit 69.0 None 0.0 N 12.0 6.0 2017-08-17 10:52:52
25 NaN 47.334800 -120.577100 None 1503017467000 38.0 N/A 2108 Blewett Pass 75.0 None 280.0 W 8.0 1.0 2017-08-17 10:51:07
26 NaN 46.638000 -121.390000 None 1503017539000 60.0 N/A 2139 White Pass Summit 67.0 None 195.0 S 12.0 8.0 2017-08-17 10:52:19
27 NaN 47.301900 -120.067800 None 1503017522000 20.0 N/A 2173 Palisades 87.0 None 100.0 E 10.0 8.0 2017-08-17 10:52:02
28 NaN 47.233100 -119.958200 None 1503017538000 83.0 N/A 2174 Quincy Rest Area 83.0 None 170.0 S 6.0 4.0 2017-08-17 10:52:18
29 NaN 47.815600 -119.363000 None 1503017984000 23.0 N/A 2175 Mansfield 82.0 None 175.0 S 0.0 0.0 2017-08-17 10:59:44
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
40901 NaN 48.876000 -117.348300 None 1502761924000 97.0 N/A 3007 Metaline Fall on SR31@MP16.69 67.0 None 10.0 N 2.0 1.0 2017-08-14 11:52:04
40902 995.9 47.532000 -121.985000 None 1502764242000 NaN N/A 3038 I-90 at Sunset NaN None 150.0 SE 4.0 0.0 2017-08-14 12:30:42
40903 986.3 46.217600 -119.748900 None 1502764205000 30.0 N/A 3110 Prosser 76.0 None 155.0 SE 8.0 6.0 2017-08-14 12:30:05
40904 975.2 46.538500 -120.471800 None 1502763687000 27.0 N/A 3111 Parker 77.0 None 128.0 SE 0.0 0.0 2017-08-14 12:21:27
40905 976.1 46.538400 -120.472000 None 1502763638000 35.0 N/A 3112 Union Gap 76.0 None 306.0 NE 2.0 1.0 2017-08-14 12:20:38
40906 NaN 46.393000 -120.241100 None 1502763628000 41.0 N/A 3113 Zillah 76.0 None 48.0 NE 2.0 2.0 2017-08-14 12:20:28
40907 980.1 46.326600 -120.077900 None 1502763616000 35.0 N/A 3114 Outlook 74.0 None 104.0 E 2.0 2.0 2017-08-14 12:20:16
40908 NaN 47.067700 -122.715800 None 1502764082000 53.0 N/A 3234 Nisqually on I-5 @ MP 116 70.0 None 340.0 N 4.0 2.0 2017-08-14 12:28:02
40909 874.8 48.390400 -119.879200 None 1502763452000 28.0 N/A 3235 Loup Loup Pass on SR 20 64.0 None 102.0 E 0.0 0.0 2017-08-14 12:17:32
40910 NaN 47.858400 -122.621600 None 1502764098000 73.0 N/A 3265 Hood Canal Bridge 60.0 None NaN N/A NaN NaN 2017-08-14 12:28:18
40911 1012.7 48.446000 -122.432000 None 1502764244000 57.0 N/A 3267 MOUNT VERNON 64.0 None 0.0 N 0.0 0.0 2017-08-14 12:30:44
40912 996.9 47.916300 -122.207200 None 1502764245000 68.0 N/A 3268 SR526 INTERCHANGE 65.0 None 290.0 W 8.0 4.0 2017-08-14 12:30:45
40913 903.3 47.980300 -122.188000 None 1502764247000 1.0 N/A 3269 SR2 @ I-5 INTERCHANGE EVERETT 68.0 None 245.0 SW 11.0 2.0 2017-08-14 12:30:47
40914 1008.4 48.204200 -122.214200 None 1502764247000 NaN N/A 3270 STILLIGUAMISH RIVER NaN None NaN N NaN NaN 2017-08-14 12:30:47
40915 993.1 47.813900 -121.570900 None 1502763331000 64.0 N/A 3271 INDEX GALENA ROAD 68.0 None 337.0 NE 7.0 3.0 2017-08-14 12:15:31
40916 882.0 46.500278 -119.611667 None 1502763738000 NaN N/A 3273 SR240 @ Beloit 77.0 None 115.0 SE 13.0 8.0 2017-08-14 12:22:18
40917 NaN 46.467063 -119.541111 None 1502763742000 27.0 N/A 3274 SR240 @ Mid Hanford 77.0 None 125.0 SE 12.0 10.0 2017-08-14 12:22:22
40918 NaN 46.383155 -119.422786 None 1502763745000 31.0 N/A 3275 SR240 @ SR225 Horn Rd 78.0 None 120.0 SE 9.0 6.0 2017-08-14 12:22:25
40919 NaN 46.325574 -119.316126 None 1502763748000 31.0 N/A 3276 SR240 @ Twin Bridges 78.0 None 90.0 E 10.0 8.0 2017-08-14 12:22:28
40920 1008.6 47.303516 -122.232946 None 1502763336000 49.0 N/A 3277 SR 18 @ C St, Auburn 70.0 None 310.0 NE 7.0 1.0 2017-08-14 12:15:36
40921 605.5 46.049483 -118.495917 None 1502763751000 63.0 N/A 3295 SR12 @ Frenchtown Rd MP 328.75 77.0 None 0.0 N 0.0 0.0 2017-08-14 12:22:31
40922 999.8 47.830967 -122.262359 None 1502763337000 50.0 N/A 3752 I-5 at I-405 67.0 None 15.0 N 6.0 3.0 2017-08-14 12:15:37
40923 NaN 46.802261 -123.007164 None 1502764082000 46.0 N/A 3776 GRAND MOUND 72.0 None 357.0 N 0.0 0.0 2017-08-14 12:28:02
40924 29.8 47.640394 -122.258735 None 1502763840000 51.0 N/A 3814 SR 520 Bridge 68.0 None 320.0 NW 11.0 11.0 2017-08-14 12:24:00
40925 969.9 46.763143 -122.192030 None 1502764083000 61.0 N/A 3830 SR 7 @ SR 706 Elbe 64.0 None 330.0 NE 4.0 2.0 2017-08-14 12:28:03
40926 1009.8 48.963854 -122.484913 None 1502763339000 57.0 N/A 3832 SR 539 at SR 546 (Badger Rd) 66.0 None 240.0 SW 7.0 3.0 2017-08-14 12:15:39
40927 1010.5 48.891981 -122.485690 None 1502763341000 56.0 N/A 3833 SR 539 at SR 544 (Pole Rd) 67.0 None 200.0 S 7.0 3.0 2017-08-14 12:15:41
40928 1009.8 47.847409 -122.009760 None 1502763342000 49.0 N/A 3841 SR 522 at Main St 66.0 None 345.0 N 6.0 3.0 2017-08-14 12:15:42
40929 1011.8 47.353395 -122.244567 None 1502763344000 49.0 N/A 3852 SR 167 at S 277th St 69.0 None 280.0 W 10.0 6.0 2017-08-14 12:15:44
40930 NaN 47.263826 -122.545658 None 1502764088000 NaN N/A 3854 Tacoma Narrows Bridge NaN None 350.0 N 6.0 4.0 2017-08-14 12:28:08

40931 rows × 16 columns

In [40]:
clean_multi_wsdot_weather_df.shape
Out[40]:
(40931, 16)

Do some simple plots with Altair

Start with some preliminary setup, per the Altair github page

In [41]:
from altair import Chart, load_dataset
In [42]:
clean_multi_wsdot_weather_df.shape
Out[42]:
(40931, 16)
In [43]:
import numpy as np
chosen_idx = np.random.choice(40931, replace=False, size=6000)
In [44]:
# NOTE.  This cell will raise a deprecaton warning on the first run,  but if you run it a secondd time it wil work.
chart = Chart(clean_multi_wsdot_weather_df.iloc[chosen_idx]).mark_point().encode(
    x= 'ReadingTime_timestamp',
    y='TemperatureInFahrenheit',
    color='StationName',
)
chart
/home/vagrant/anaconda3/envs/geopandas_pip_altiair/lib/python3.5/site-packages/altair/utils/core.py:110: FutureWarning: pandas.lib is deprecated and will be removed in a future version.
You can access infer_dtype as pandas.api.types.infer_dtype
  typ = pd.lib.infer_dtype(data)

Plot temperature for just one station, switching from circle to line graph.

In [45]:
chart = Chart(clean_multi_wsdot_weather_df.loc[clean_multi_wsdot_weather_df['StationName'] 
                                         == 'Zillah']).mark_line().encode(
    x= 'ReadingTime_timestamp',
    y='TemperatureInFahrenheit',
    color='StationName',
)
chart
In [46]:
clean_multi_traffic_df.shape
Out[46]:
(70998, 20)
In [47]:
import numpy as np
chosen_idx = np.random.choice(70998, replace=False, size=4000)
In [48]:
# NOTE: The traffic dataset is very large, so use this to start the jupyter server.
# jupyter notebook --NotebookApp.iopub_data_rate_limit=10000000
chart = Chart(clean_multi_traffic_df.iloc[chosen_idx]).mark_point().encode(
    x= 'TimeUpdated_timestamp',
    y='CurrentTime',
    color='Name',
)
chart
In [49]:
# NOTE: The traffic dataset is very large, so use this to start the jupyter server.
# jupyter notebook --NotebookApp.iopub_data_rate_limit=10000000
# Bellevue-Issaquah (EB PM)
chart = Chart(clean_multi_traffic_df.loc[clean_multi_traffic_df['Name'] 
                                         == 'I-5 SB Corridor']).mark_line().encode(
    
    x= 'TimeUpdated_timestamp',
    y='CurrentTime',
    color='Name',
)
chart

Mapping with Folium

Start with a simple base map

In [50]:
import folium
map_osm = folium.Map(location=[46.3013, -120.3126], zoom_start=7)
map_osm.save('osm.html')
map_osm
Out[50]:

Reload a single traffic and weather json file. Each file has the same spatial data, so it would be redundtant to plot them all.

In [51]:
import json
import pandas as pd
import os
from pandas.io.json import json_normalize

jsondir = "/home/vagrant/json"
wsdot_traffic_filepath = jsondir + "/wsdot_traffic/2017-08-13-23-39-28"

with open(wsdot_traffic_filepath) as json_file:
  raw_json = json.load(json_file)

raw_json

wsdot_traffic_df = json_normalize(raw_json)
wsdot_traffic_df
Out[51]:
AverageTime CurrentTime Description Distance EndPoint.Description EndPoint.Direction EndPoint.Latitude EndPoint.Longitude EndPoint.MilePost EndPoint.RoadName Name StartPoint.Description StartPoint.Direction StartPoint.Latitude StartPoint.Longitude StartPoint.MilePost StartPoint.RoadName TimeUpdated TravelTimeID
0 30 34 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 HOV Everett-Seattle (SB AM) I-5 @ 41st St in Everett S 47.924280 -122.265480 192.55 I-5 /Date(1502667300000-0700)/ 2
1 27 28 Downtown Seattle to Everett using HOV lanes 26.94 I-5 @ 41st St in Everett N 47.924280 -122.265480 192.77 I-5 HOV Seattle-Everett (NB PM) I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 /Date(1502667300000-0700)/ 3
2 27 28 Downtown Seattle to Everett 26.94 I-5 @ 41st St in Everett N 47.924280 -122.265480 192.77 I-5 Seattle-Everett (NB PM) I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 /Date(1502667300000-0700)/ 4
3 11 11 Downtown Bellevue to Issaquah 9.55 I-90 @ Front St in Issaquah E 47.541799 -122.037396 16.96 I-90 Bellevue-Issaquah (EB PM) I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 /Date(1502667300000-0700)/ 5
4 11 11 Downtown Bellevue to Issaquah using HOV lanes 9.55 I-90 @ Front St in Issaquah E 47.541799 -122.037396 16.96 I-90 HOV Bellevue-Issaquah (EB PM) I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 /Date(1502667300000-0700)/ 6
5 10 10 Issaquah to Downtown Bellevue using HOV lanes 9.48 I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 HOV Issaquah-Bellevue (WB AM) I-90 @ Front St in Issaquah W 47.541799 -122.037396 16.96 I-90 /Date(1502667300000-0700)/ 7
6 11 13 Issaquah to Downtown Bellevue 9.48 I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 Issaquah-Bellevue (WB AM) I-90 @ Front St in Issaquah W 47.541799 -122.037396 16.96 I-90 /Date(1502667300000-0700)/ 8
7 26 26 Downtown Bellevue to Everett 26.06 I-5 @ 41st St in Everett N 47.924280 -122.265480 192.77 I-5 Bellevue-Everett (NB PM) I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 /Date(1502667300000-0700)/ 9
8 28 27 Everett to Downtown Bellevue 26.34 I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 Everett-Bellevue (SB AM) I-5 @ 41st St in Everett S 47.924280 -122.265480 192.55 I-5 /Date(1502667300000-0700)/ 10
9 26 26 Downtown Bellevue to Everett using HOV lanes 26.06 I-5 @ 41st St in Everett N 47.924280 -122.265480 192.77 I-5 HOV Bellevue-Everett (NB PM) I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 /Date(1502667300000-0700)/ 11
10 27 27 Everett to Downtown Bellevue using HOV lanes 26.34 I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 HOV Everett-Bellevue (SB AM) I-5 @ 41st St in Everett S 47.924280 -122.265480 192.55 I-5 /Date(1502667300000-0700)/ 12
11 17 37 Federal Way to SeaTac 8.82 I-5 @ S 188th St in SeaTac N 47.438760 -122.269470 152.80 I-5 Federal Way-SeaTac (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 /Date(1502667300000-0700)/ 13
12 12 10 Federal Way to SeaTac using HOV lanes 8.82 I-5 @ S 188th St in SeaTac N 47.438760 -122.269470 152.80 I-5 HOV Federal Way-SeaTac (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 /Date(1502667300000-0700)/ 14
13 9 9 SeaTac to Federal Way using HOV lanes 9.16 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 HOV SeaTac-Federal Way (SB PM) I-5 @ S 188th St in SeaTac S 47.438760 -122.269470 152.80 I-5 /Date(1502667300000-0700)/ 15
14 9 9 SeaTac to Federal Way 9.16 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 SeaTac-Federal Way (SB PM) I-5 @ S 188th St in SeaTac S 47.438760 -122.269470 152.80 I-5 /Date(1502667300000-0700)/ 16
15 33 58 Federal Way to Downtown Seattle 22.15 I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 Federal Way-Seattle (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 /Date(1502667300000-0700)/ 17
16 28 25 Federal Way to Downtown Seattle using HOV lanes 22.15 I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 HOV Federal Way-Seattle (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 /Date(1502667300000-0700)/ 18
17 22 23 Downtown Seattle to Federal Way using HOV lanes 22.19 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 HOV Seattle-Federal Way (SB PM) I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 /Date(1502667300000-0700)/ 19
18 22 22 Downtown Seattle to Federal Way 22.19 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 Seattle-Federal Way (SB PM) I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 /Date(1502667300000-0700)/ 20
19 27 50 Downtown Bellevue to Federal Way 24.56 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 Bellevue-Federal Way (SB PM) I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 /Date(1502667300000-0700)/ 21
20 35 56 Federal Way to Downtown Bellevue 23.58 I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 Federal Way-Bellevue (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 /Date(1502667300000-0700)/ 22
21 26 33 Downtown Bellevue to Federal Way using HOV lanes 24.56 I-5 @ S 320th St in Federal Way S 47.313840 -122.298609 143.64 I-5 HOV Bellevue-Federal Way (SB PM) I-405 @ NE 8th St in Bellevue S 47.613800 -122.188920 13.33 I-405 /Date(1502667300000-0700)/ 23
22 30 27 Federal Way to Downtown Bellevue using HOV lanes 23.58 I-405 @ NE 8th St in Bellevue N 47.613610 -122.187970 13.60 I-405 HOV Federal Way-Bellevue (NB AM) I-5 @ S 320th St in Federal Way N 47.315446 -122.296702 143.98 I-5 /Date(1502667300000-0700)/ 24
23 16 17 Downtown Seattle to Lynnwood using HOV lanes 15.73 I-5 @ 196th St SW in Lynnwood N 47.819545 -122.279109 181.56 I-5 HOV Seattle-Lynnwood (NB PM) I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 /Date(1502667300000-0700)/ 25
24 19 23 Lynnwood to Downtown Seattle 15.23 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 Lynnwood-Seattle (SB AM) I-5 @ 196th St SW in Lynnwood S 47.817269 -122.285137 181.06 I-5 /Date(1502667300000-0700)/ 26
25 16 18 Downtown Seattle to Lynnwood 15.73 I-5 @ 196th St SW in Lynnwood N 47.819545 -122.279109 181.56 I-5 Seattle-Lynnwood (NB PM) I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 /Date(1502667300000-0700)/ 27
26 0 0 Lynnwood to Downtown Seattle using express lan... 0.00 I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 HOV Lynnwood-Seattle (SB REV) I-5 @ 196th St SW in Lynnwood S 47.817269 -122.285137 181.06 I-5 /Date(1502667300000-0700)/ 28
27 0 0 Lynnwood to Downtown Seattle using express lanes 0.00 I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 Lynnwood-Seattle (SB REV) I-5 @ 196th St SW in Lynnwood S 47.817269 -122.285137 181.06 I-5 /Date(1502667300000-0700)/ 29
28 17 21 Renton to Downtown Seattle using HOV lanes 13.77 I-5 @ University St in Seattle N 47.609294 -122.331759 165.83 I-5 HOV Renton-Seattle (NB AM) I-405 @ SR 167 in Renton S 47.467434 -122.219631 2.21 I-405 /Date(1502667300000-0700)/ 30
29 15 14 Downtown Seattle to Renton using HOV lanes 13.61 I-405 @ SR 167 in Renton N 47.467434 -122.219631 2.21 I-405 HOV Seattle-Renton (SB PM) I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 /Date(1502667300000-0700)/ 31
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
150 24 25 Camas to Rose Quarter 21.15 I-5 and I-84 JCT in Portland W 45.525600 -122.660460 0.45 I-84 Camas to Rose Quarter via 205 and I-84 SR14 and Union St in Camas W 45.580300 -122.385324 14.65 SR 14 /Date(1502667000000-0700)/ 361
151 14 15 Clark County Fairgrounds to Delta Park 10.82 I-5 Delta Park in Portland S 45.603280 -122.683520 307.35 I-5 Clark County Fairgrounds to Delta Park I-5 SB and 179th St in Vancouver S 45.754301 -122.663841 9.77 I-5 /Date(1502667000000-0700)/ 362
152 13 15 Clark County Fairgrounds to Portland Internati... 14.32 I-205 and Airport Way in Portland S 45.571880 -122.550940 24.77 I-205 Clark County Fairgrounds to Portland Internati... I-5 and 179th St in Vancouver S 45.754301 -122.663841 9.77 I-5 /Date(1502667000000-0700)/ 363
153 19 20 Clark County Fairgrounds to Rose Quarter 15.66 I-5 and Rose Quarter in Portland S 45.536250 -122.667270 302.51 I-5 Clark County Fairgrounds to Rose Quarter I-5 and 179th St in Vancouver S 45.754301 -122.663841 9.77 I-5 /Date(1502667000000-0700)/ 364
154 14 15 Delta Park to Clark County Fairgrounds 10.36 I-5 and 179th St in Vancouver N 45.754301 -122.663841 9.76 I-5 Delta Park to Clark County Fairgrounds Delta Park in Portland N 45.611460 -122.679000 307.90 I-5 /Date(1502667000000-0700)/ 365
155 14 14 Fremont Bridge to Hazel Dell 9.28 I-5 and 78th St Hazel Dell in Vancouver N 45.676544 -122.664559 4.25 I-5 Fremont Bridge to Hazel Dell Fremont Bridge in Portland N 45.547310 -122.678900 303.47 I-5 /Date(1502667000000-0700)/ 366
156 38 18 I-405-US 26 to Hazel Dell 12.71 I-5 and 78th St Hazel Dell in Vancouver N 45.676544 -122.664559 4.25 I-5 I-405-US 26 to Hazel Dell I-405/US26 in Portland N 45.516880 -122.688000 1.77 I-405 /Date(1502667000000-0700)/ 367
157 7 7 I-84 to Mill Plain 7.02 Mill Plain in Vancouver N 45.621409 -122.559835 28.36 I-205 I-84 to Mill Plain via 205 I-84 in Portland N 45.534880 -122.565000 21.68 I-205 /Date(1502667000000-0700)/ 368
158 16 16 Portland International Airport Exit to Clark C... 14.46 Clark County Fairgrounds N 45.754301 -122.663841 9.76 I-5 Portland International Airport Exit to Clark C... Portland International Airport Exit N 45.572100 -122.548000 24.92 I-205 /Date(1502667000000-0700)/ 369
159 26 26 Rose Quarter to Camas 21.12 Camas E 45.580300 -122.385324 14.65 SR 14 Rose Quarter to Camas via 1-5 Rose Quarter in Portland N 45.536250 -122.667000 302.50 I-5 /Date(1502667000000-0700)/ 370
160 23 23 Rose Quarter to Camas 20.97 Camas E 45.580300 -122.385324 14.65 SR 14 Rose Quarter to Camas via 1-84 Rose Quarter in Portland E 45.520480 -122.665000 0.10 I-84 /Date(1502667000000-0700)/ 371
161 20 22 Rose Quarter to Clark County Fairgrounds 15.76 I-5 and 179th St in Vancouver N 45.754301 -122.663841 9.76 I-5 Rose Quarter to Clark County Fairgrounds via 1-5 Rose Quarter in Portland N 45.536250 -122.667000 302.50 I-5 /Date(1502667000000-0700)/ 372
162 35 37 Tualatin OR to Salmon Creek WA 35.05 Salmon Creek WA N 45.707495 -122.631733 36.67 I-205 Tualatin OR to Salmon Creek WA - via 205 Tualatin OR N 45.372970 -122.730000 1.96 I-205 /Date(1502667000000-0700)/ 373
163 35 34 Tualatin OR to Salmon Creek WA 28.34 I-5 and 134th St in Vancouver N 45.716985 -122.654515 7.30 I-5 Tualatin OR to Salmon Creek WA via 1-5 Tualatin OR in Portland N 45.353550 -122.765000 287.46 I-5 /Date(1502667000000-0700)/ 374
164 8 12 63rd St to I-5/I-405 Jct. 8.03 I-5 and I-405 JCT in Portland S 45.556320 -122.679010 303.47 I-5 I-5 SB and 63rd to I-405 JCT North I-5 and 63rd in Vancouver S 45.668141 -122.666701 3.10 I-5 /Date(1502667000000-0700)/ 375
165 11 17 63rd to US-26 West 12.14 US26 in Portland S 45.513480 -122.667930 1.77 I-405 I-5 SB and 63rd to US26 I-5 SB and 63rd in Vancouver S 45.668141 -122.666701 3.10 I-5 /Date(1502667000000-0700)/ 376
166 10 11 I-5 and Fourth Plain to SR 502 10.26 I-5 and SR 502 N 45.781266 -122.672017 11.67 I-5 I-5 and Fourth Plain to SR 502 I-5 and Fourth Plain N 45.636340 -122.662113 1.41 I-5 /Date(1502667000000-0700)/ 377
167 22 22 I-205 SB and 18th St to SR14 to I-5 to I-84 JCT 15.74 I-5 and I-84 JCT in Portland S 45.544850 -122.677070 302.17 I-5 I-205 SB and 18th St to SR14 to I-5 to I-84 JCT I-205 SB and 18th St to SR14 to I-5 in Vancouver S 45.628406 -122.559927 29.87 I-205 /Date(1502667000000-0700)/ 378
168 16 17 I-205 SB and 18th St to I-84 to I-5 JCT 14.51 I-84 to I-5 JCT W 45.529760 -122.649230 0.45 I-84 I-205 SB and 18th St to I-84 to I-5 JCT I-205 SB and 18th St in Vancouver S 45.640957 -122.563394 29.87 I-205 /Date(1502667000000-0700)/ 379
169 10 11 Federal Way (320th) to Tacoma Dome 9.55 I-5 @ Tacoma Dome MP 134 S 47.234857 -122.426813 134.09 005 Federal Way-Tacoma (SB PM) I-5 @ Federal Way VMS MP 145.22 S 47.315327 -122.297855 143.64 I-5 /Date(1502667300000-0700)/ 382
170 21 21 SR14 and Cascade Pk to I-5 and I-84 JCT 14.90 I-5 and I-84 JCT in Portland S 45.532950 -122.666410 302.17 I-5 019 SR14 and Cascade Pk to I-5 and I-84 JCT SR14 and Cascade Park in Vancouver W 45.596111 -122.519722 7.72 SR 14 /Date(1502667000000-0700)/ 384
171 18 18 SR14 and Cascade Pk to I-205 to I-5 and I-84 JCT 14.22 I-5 and I-84 JCT in Portland W 45.525600 -122.660460 0.45 I-84 020 SR14 and Cascade Pk to I-205 to I-5 and I-... SR14 and Cascade Park in Vancouver W 45.596111 -122.519722 7.72 SR 14 /Date(1502667000000-0700)/ 385
172 9 9 EB SR 16 Olympic Dr WB To EB SR 16 Sprague EB ... 8.38 SR 16 @ Sprague EB On Ramp in Tacoma E 47.235191 -122.467893 1.00 SR 16 EB SR 16, Olympic Dr To I-5 Jct SR 16 @ Olympic Dr WB in Gig Harbor E 47.309330 -122.579790 11.07 SR 16 /Date(1502667300000-0700)/ 386
173 3 3 EB SR 16 Olympic Dr WB To TNB-West 2.66 SR 16 @ TNB-West in Gig Harbor E 47.275660 -122.560450 8.41 SR 16 EB SR 16, Olympic Dr To TNB-West SR 16 @ Olympic Dr WB in Gig Harbor E 47.309330 -122.579790 11.07 SR 16 /Date(1502667300000-0700)/ 387
174 17 17 SB I-5 Port of Tacoma To JBLM Main Gate 15.70 I-5 @ JBLM Main Gate S 47.104937 -122.585386 121.04 I-5 SB I-5, PoT To JBLM Main Gate I-5 @ PoT in Tacoma S 47.240541 -122.372755 136.74 I-5 /Date(1502667300000-0700)/ 388
175 5 5 SB I-5 Port of Tacoma To SR 16 3.83 I-5 @ SR 16 in Tacoma S 47.230182 -122.449769 132.91 I-5 SB I-5, PoT To SR 16 I-5 @ PoT in Tacoma S 47.240541 -122.372755 136.74 I-5 /Date(1502667300000-0700)/ 389
176 11 11 SB I-5 Port of Tacoma To SR 512 9.39 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 SB I-5, PoT To SR 512 I-5 @ PoT in Tacoma S 47.240541 -122.372755 136.74 I-5 /Date(1502667300000-0700)/ 390
177 22 20 SB I-5 Pierce King County Line To JBLM Main Gate 18.37 I-5 @ JBLM Main Gate S 47.104937 -122.585386 121.04 I-5 SB I-5, PKCL To JBLM Main Gate I-5 @ Pierce King County Line S 47.255624 -122.331130 139.41 I-5 /Date(1502667300000-0700)/ 401
178 9 8 SB I-5 Pierce King County Line To SR 16 6.50 I-5 @ SR 16 in Tacoma S 47.230182 -122.449769 132.91 I-5 SB I-5, PKCL To SR 16 I-5 @ Pierce King County Line S 47.255624 -122.331130 139.41 I-5 /Date(1502667300000-0700)/ 402
179 15 14 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 SB I-5, PKCL To SR 512 I-5 @ Pierce King County Line S 47.255624 -122.331130 139.41 I-5 /Date(1502667300000-0700)/ 403

180 rows × 19 columns

In [52]:
import json
import pandas as pd
import os
from pandas.io.json import json_normalize

jsondir = "/home/vagrant/json"
wsdot_weather_filepath = jsondir + "/wsdot_weather/2017-08-13-23-37-10"

with open(wsdot_weather_filepath) as json_file:
  raw_json = json.load(json_file)

wsdot_weather_df = json_normalize(raw_json)
wsdot_weather_df
Out[52]:
BarometricPressure Latitude Longitude PrecipitationInInches ReadingTime RelativeHumidity SkyCoverage StationID StationName TemperatureInFahrenheit Visibility WindDirection WindDirectionCardinal WindGustSpeedInMPH WindSpeedInMPH
0 1010.1 47.474800 -122.270400 None /Date(1502667002000-0700)/ 59.0 N/A 1909 SB I-5 144th 71.0 None 355.0 N 12.0 7.0
1 1014.8 47.760633 -122.184048 None /Date(1502667016000-0700)/ 57.0 N/A 1910 SB I-405 N.E. 195th 68.0 None 65.0 NE 9.0 2.0
2 981.5 47.509000 -121.885000 None /Date(1502667008000-0700)/ 67.0 N/A 1928 EB I-90 @ SR-18 Echo Lake 68.0 None 125.0 SE 6.0 2.0
3 1002.6 47.726000 -122.324000 None /Date(1502667001000-0700)/ 64.0 N/A 1966 130th Street 67.0 None 235.0 SW 0.0 0.0
4 NaN 46.436000 -117.350000 None /Date(1502666981000-0700)/ 46.0 N/A 1968 Alpowa Summit 71.0 None 260.0 W 16.0 9.0
5 NaN 47.033800 -123.097100 None /Date(1502667000000-0700)/ 52.0 N/A 1970 Rock Candy Mountain 70.0 None 181.0 S 17.0 4.0
6 NaN 47.555500 -120.586600 None /Date(1502666776000-0700)/ 26.0 N/A 1972 Dryden Road 84.0 None 0.0 N 12.0 5.0
7 NaN 47.269100 -121.239200 None /Date(1502666732000-0700)/ 49.0 N/A 1973 Easton Hill 66.0 None 5.0 N 16.0 5.0
8 NaN 48.070300 -124.049000 None /Date(1502666845000-0700)/ 42.0 N/A 1975 Heckelville Shed 61.0 None 45.0 NE 13.0 7.0
9 NaN 46.887000 -120.427000 None /Date(1502666499000-0700)/ 99.0 N/A 1977 Manastash Ridge Eastbound 70.0 None 325.0 NE 28.0 20.0
10 NaN 46.928000 -120.500000 None /Date(1502666515000-0700)/ 36.0 N/A 1978 Manastash Ridge Westbound 74.0 None 285.0 W 29.0 20.0
11 NaN 47.305082 -121.305688 None /Date(1502666726000-0700)/ 46.0 N/A 1979 Stampede Overpass 69.0 None 231.0 SW 15.0 2.0
12 NaN 47.078000 -120.724000 None /Date(1502666472000-0700)/ 35.0 N/A 1980 Rocky Canyon 75.0 None 305.0 NE 31.0 21.0
13 NaN 46.943000 -120.165000 None /Date(1502666528000-0700)/ 24.0 N/A 1981 Ryegrass Summit 72.0 None 185.0 S 39.0 32.0
14 996.5 48.688000 -122.400000 None /Date(1502667014000-0700)/ 55.0 N/A 1982 Lake Samish Park and Ride 69.0 None 95.0 E 11.0 4.0
15 NaN 47.745900 -121.089100 None /Date(1502666771000-0700)/ NaN N/A 1984 Stevens Pass NaN None NaN N/A NaN NaN
16 1013.7 48.992000 -122.272000 None /Date(1502667018000-0700)/ 49.0 N/A 1985 SUMAS SR 9 AT FRONT ST (SR 547) 72.0 None 0.0 N 15.0 6.0
17 NaN 47.043000 -119.916000 None /Date(1502667004000-0700)/ 26.0 N/A 1987 Silica Road 80.0 None 280.0 W 28.0 16.0
18 NaN 47.085000 -119.006000 None /Date(1502667010000-0700)/ 40.0 N/A 1988 Warden Interchange 81.0 None 170.0 S 18.0 11.0
19 NaN 47.113000 -120.786000 None /Date(1502666522000-0700)/ 99.0 N/A 1989 Elk Heights 69.0 None 245.0 SW 21.0 9.0
20 NaN 48.050400 -122.952300 None /Date(1502663594000-0700)/ 47.0 N/A 2044 Diamond Point 65.0 None 290.0 W 18.0 10.0
21 NaN 48.093800 -123.278300 None /Date(1502667004000-0700)/ 68.0 N/A 2045 Seibert Creek Bridge 61.0 None 239.0 SW 26.0 13.0
22 NaN 47.443500 -121.669400 None /Date(1502666721000-0700)/ 42.0 N/A 2068 Snoqualmie River Bridge 67.0 None 210.0 SW 6.0 2.0
23 994.8 47.473000 -121.742000 None /Date(1502667011000-0700)/ NaN N/A 2069 WB I-90 near Tanner Crossing NaN None NaN N/A NaN NaN
24 NaN 47.427000 -121.418000 None /Date(1502666572000-0700)/ 50.0 N/A 2085 Alpental Exit 60.0 None 0.0 N 13.0 9.0
25 NaN 47.334800 -120.577100 None /Date(1502666766000-0700)/ 41.0 N/A 2108 Blewett Pass 68.0 None 270.0 W 9.0 2.0
26 NaN 46.638000 -121.390000 None /Date(1502666534000-0700)/ 68.0 N/A 2139 White Pass Summit 56.0 None 90.0 E 13.0 4.0
27 NaN 47.301900 -120.067800 None /Date(1502666822000-0700)/ 24.0 N/A 2173 Palisades 84.0 None 15.0 N 21.0 13.0
28 NaN 47.233100 -119.958200 None /Date(1502666828000-0700)/ 83.0 N/A 2174 Quincy Rest Area 82.0 None 145.0 SE 13.0 7.0
29 NaN 47.815600 -119.363000 None /Date(1502666882000-0700)/ 23.0 N/A 2175 Mansfield 79.0 None 235.0 SW 0.0 0.0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
72 NaN 48.876000 -117.348300 None /Date(1502664709000-0700)/ 51.0 N/A 3007 Metaline Fall on SR31@MP16.69 67.0 None 170.0 S 8.0 5.0
73 998.8 47.532000 -121.985000 None /Date(1502667021000-0700)/ NaN N/A 3038 I-90 at Sunset NaN None 270.0 W 9.0 6.0
74 987.3 46.217600 -119.748900 None /Date(1502667005000-0700)/ 35.0 N/A 3110 Prosser 84.0 None 291.0 W 13.0 6.0
75 976.6 46.538500 -120.471800 None /Date(1502666488000-0700)/ 25.0 N/A 3111 Parker 82.0 None 95.0 E 12.0 7.0
76 977.4 46.538400 -120.472000 None /Date(1502666439000-0700)/ 26.0 N/A 3112 Union Gap 82.0 None 291.0 W 8.0 6.0
77 NaN 46.393000 -120.241100 None /Date(1502666428000-0700)/ 32.0 N/A 3113 Zillah 82.0 None 196.0 S 5.0 4.0
78 981.4 46.326600 -120.077900 None /Date(1502666416000-0700)/ 35.0 N/A 3114 Outlook 83.0 None 270.0 W 1.0 0.0
79 NaN 47.067700 -122.715800 None /Date(1502666747000-0700)/ 49.0 N/A 3234 Nisqually on I-5 @ MP 116 73.0 None 180.0 S 11.0 6.0
80 874.1 48.390400 -119.879200 None /Date(1502666289000-0700)/ 28.0 N/A 3235 Loup Loup Pass on SR 20 71.0 None 246.0 SW 1.0 0.0
81 NaN 47.858400 -122.621600 None /Date(1502666906000-0700)/ 72.0 N/A 3265 Hood Canal Bridge 62.0 None NaN N/A NaN NaN
82 1015.6 48.446000 -122.432000 None /Date(1502667022000-0700)/ 49.0 N/A 3267 MOUNT VERNON 67.0 None 0.0 N 0.0 0.0
83 1000.2 47.916300 -122.207200 None /Date(1502667024000-0700)/ 82.0 N/A 3268 SR526 INTERCHANGE 65.0 None 330.0 NE 17.0 9.0
84 924.1 47.980300 -122.188000 None /Date(1502667025000-0700)/ 2.0 N/A 3269 SR2 @ I-5 INTERCHANGE EVERETT 70.0 None 280.0 W 18.0 9.0
85 1012.0 48.204200 -122.214200 None /Date(1502667025000-0700)/ NaN N/A 3270 STILLIGUAMISH RIVER 68.0 None 340.0 N 1.0 0.0
86 996.1 47.813900 -121.570900 None /Date(1502667031000-0700)/ 64.0 N/A 3271 INDEX GALENA ROAD 64.0 None 306.0 NE 4.0 2.0
87 882.0 46.500278 -119.611667 None /Date(1502666536000-0700)/ NaN N/A 3273 SR240 @ Beloit 83.0 None 310.0 NE 19.0 7.0
88 NaN 46.467063 -119.541111 None /Date(1502666537000-0700)/ 29.0 N/A 3274 SR240 @ Mid Hanford 85.0 None 295.0 NE 12.0 9.0
89 NaN 46.383155 -119.422786 None /Date(1502666539000-0700)/ 33.0 N/A 3275 SR240 @ SR225 Horn Rd 84.0 None 180.0 S 21.0 14.0
90 NaN 46.325574 -119.316126 None /Date(1502666540000-0700)/ 36.0 N/A 3276 SR240 @ Twin Bridges 85.0 None 190.0 S 21.0 14.0
91 1011.1 47.303516 -122.232946 None /Date(1502667036000-0700)/ 52.0 N/A 3277 SR 18 @ C St, Auburn 72.0 None 275.0 W 8.0 5.0
92 605.5 46.049483 -118.495917 None /Date(1502666542000-0700)/ 65.0 N/A 3295 SR12 @ Frenchtown Rd MP 328.75 82.0 None 0.0 N 0.0 0.0
93 1003.0 47.830967 -122.262359 None /Date(1502667038000-0700)/ 61.0 N/A 3752 I-5 at I-405 65.0 None 0.0 N 13.0 7.0
94 NaN 46.802261 -123.007164 None /Date(1502666746000-0700)/ 52.0 N/A 3776 GRAND MOUND 71.0 None 292.0 W 12.0 6.0
95 29.9 47.640394 -122.258735 None /Date(1502666640000-0700)/ 60.0 N/A 3814 SR 520 Bridge 68.0 None 332.0 NNW 15.0 13.0
96 972.7 46.763143 -122.192030 None /Date(1502666748000-0700)/ 53.0 N/A 3830 SR 7 @ SR 706 Elbe 69.0 None 300.0 NE 8.0 3.0
97 1011.2 48.963854 -122.484913 None /Date(1502667039000-0700)/ 52.0 N/A 3832 SR 539 at SR 546 (Badger Rd) 72.0 None 225.0 SW 16.0 9.0
98 1012.3 48.891981 -122.485690 None /Date(1502667041000-0700)/ 47.0 N/A 3833 SR 539 at SR 544 (Pole Rd) 72.0 None 155.0 SE 15.0 10.0
99 1012.9 47.847409 -122.009760 None /Date(1502667042000-0700)/ 60.0 N/A 3841 SR 522 at Main St 67.0 None 5.0 N 10.0 6.0
100 1014.3 47.353395 -122.244567 None /Date(1502667044000-0700)/ 52.0 N/A 3852 SR 167 at S 277th St 71.0 None 285.0 W 12.0 8.0
101 NaN 47.263826 -122.545658 None /Date(1502666905000-0700)/ NaN N/A 3854 Tacoma Narrows Bridge NaN None 210.0 SW 9.0 3.0

102 rows × 15 columns

Set up the libraries we need, center the map on the average (i.e. midpoint) of our traffic data.

In [53]:
import folium
import numpy as np
from folium.plugins import MarkerCluster

lats = wsdot_traffic_df['StartPoint.Latitude']
lons = wsdot_traffic_df['StartPoint.Longitude']

map_center_lat = np.mean(lats)
map_center_lon = np.mean(lons)

map_osm = folium.Map(location=[map_center_lat, map_center_lon], zoom_start=7)

Iterate over the traffic data, add each traffic point.

In [54]:
for index, row in wsdot_traffic_df.iterrows():
    lat = row['StartPoint.Latitude']
    lon = row['StartPoint.Longitude']
    LatLonStr = "(%f, %f)" % (lat, lon)
    
    thePopUp = "Traffic Sensor: " + row['Name'] + " " + LatLonStr
    folium.CircleMarker([lat, lon], popup=thePopUp, color='#555555', fill_color='#555555', radius=5).add_to(map_osm)

Iterate over the weather data, add each traffic point.

In [55]:
for index, row in wsdot_weather_df.iterrows():
    lat = row['Latitude']
    lon = row['Longitude']
    LatLonStr = "(%f, %f)" % (lat, lon)
                              
    thePopUp = "Weather Sensor: " + row['StationName'] + " " + LatLonStr
    folium.CircleMarker([lat, lon], popup=thePopUp, color='#3186cc', fill_color='#3186cc', radius=5).add_to(map_osm)

display the map!

In [56]:
map_osm
Out[56]:

Getting Weather for Portland

One of the main things the map teaches us, is the distribution of weather stations vs. traffic sensors. Weather stations are distributed all thought the state; traffic sensors are clustered along the I-5 cooridor between Everett and Olympia, wieth a few more along I-90, and a cluster in Portland.

Also note the absence of weather stations in Portland. We can fix that by pulling in JSON from another weather service.

In [57]:
!head $jsondir/yahoo_weather/2017-08-21-02-10-33
{"query":{"count":1,"created":"2017-08-21T02:10:33Z","lang":"en-US","diagnostics":{"publiclyCallable":"true","url":{"execution-start-time":"1","execution-stop-time":"5","execution-time":"4","content":"http://weather-ydn-yql.media.yahoo.com:4080/v3/public/weather/rss?w=2475687"},"user-time":"6","service-time":"4","build-version":"2.0.164"},"results":{"channel":{"units":{"distance":"mi","pressure":"in","speed":"mph","temperature":"F"},"title":"Yahoo! Weather - Portland, OR, US","link":"http://us.rd.yahoo.com/dailynews/rss/weather/Country__Country/*https://weather.yahoo.com/country/state/city-2475687/","description":"Yahoo! Weather for Portland, OR, US","language":"en-us","lastBuildDate":"Sun, 20 Aug 2017 07:10 PM PDT","ttl":"60","location":{"city":"Portland","country":"United States","region":" OR"},"wind":{"chill":"81","direction":"335","speed":"14"},"atmosphere":{"humidity":"39","pressure":"1008.0","rising":"0","visibility":"16.1"},"astronomy":{"sunrise":"6:17 am","sunset":"8:10 pm"},"image":{"title":"Yahoo! Weather","width":"142","height":"18","link":"http://weather.yahoo.com","url":"http://l.yimg.com/a/i/brand/purplelogo//uh/us/news-wea.gif"},"item":{"title":"Conditions for Portland, OR, US at 06:00 PM PDT","lat":"45.536701","long":"-122.650841","link":"http://us.rd.yahoo.com/dailynews/rss/weather/Country__Country/*https://weather.yahoo.com/country/state/city-2475687/","pubDate":"Sun, 20 Aug 2017 06:00 PM PDT","condition":{"code":"30","date":"Sun, 20 Aug 2017 06:00 PM PDT","temp":"80","text":"Partly Cloudy"},"forecast":[{"code":"30","date":"20 Aug 2017","day":"Sun","high":"82","low":"55","text":"Partly Cloudy"},{"code":"34","date":"21 Aug 2017","day":"Mon","high":"88","low":"58","text":"Mostly Sunny"},{"code":"32","date":"22 Aug 2017","day":"Tue","high":"88","low":"61","text":"Sunny"},{"code":"30","date":"23 Aug 2017","day":"Wed","high":"78","low":"59","text":"Partly Cloudy"},{"code":"30","date":"24 Aug 2017","day":"Thu","high":"72","low":"57","text":"Partly Cloudy"},{"code":"32","date":"25 Aug 2017","day":"Fri","high":"80","low":"53","text":"Sunny"},{"code":"32","date":"26 Aug 2017","day":"Sat","high":"88","low":"57","text":"Sunny"},{"code":"32","date":"27 Aug 2017","day":"Sun","high":"91","low":"59","text":"Sunny"},{"code":"34","date":"28 Aug 2017","day":"Mon","high":"87","low":"61","text":"Mostly Sunny"},{"code":"34","date":"29 Aug 2017","day":"Tue","high":"86","low":"60","text":"Mostly Sunny"}],"description":"<![CDATA[<img src=\"http://l.yimg.com/a/i/us/we/52/30.gif\"/>\n<BR />\n<b>Current Conditions:</b>\n<BR />Partly Cloudy\n<BR />\n<BR />\n<b>Forecast:</b>\n<BR /> Sun - Partly Cloudy. High: 82Low: 55\n<BR /> Mon - Mostly Sunny. High: 88Low: 58\n<BR /> Tue - Sunny. High: 88Low: 61\n<BR /> Wed - Partly Cloudy. High: 78Low: 59\n<BR /> Thu - Partly Cloudy. High: 72Low: 57\n<BR />\n<BR />\n<a href=\"http://us.rd.yahoo.com/dailynews/rss/weather/Country__Country/*https://weather.yahoo.com/country/state/city-2475687/\">Full Forecast at Yahoo! Weather</a>\n<BR />\n<BR />\n<BR />\n]]>","guid":{"isPermaLink":"false"}}}}}}

Load a sample yahoo json file

In [58]:
yahoo_weather_filepath = jsondir + "/yahoo_weather/2017-08-21-02-10-33"
yahoo_weather_folder = jsondir + "/yahoo_weather"
In [59]:
with open(yahoo_weather_filepath) as json_file:
   raw_json = json.load(json_file)

raw_json
Out[59]:
{'query': {'count': 1,
  'created': '2017-08-21T02:10:33Z',
  'diagnostics': {'build-version': '2.0.164',
   'publiclyCallable': 'true',
   'service-time': '4',
   'url': {'content': 'http://weather-ydn-yql.media.yahoo.com:4080/v3/public/weather/rss?w=2475687',
    'execution-start-time': '1',
    'execution-stop-time': '5',
    'execution-time': '4'},
   'user-time': '6'},
  'lang': 'en-US',
  'results': {'channel': {'astronomy': {'sunrise': '6:17 am',
     'sunset': '8:10 pm'},
    'atmosphere': {'humidity': '39',
     'pressure': '1008.0',
     'rising': '0',
     'visibility': '16.1'},
    'description': 'Yahoo! Weather for Portland, OR, US',
    'image': {'height': '18',
     'link': 'http://weather.yahoo.com',
     'title': 'Yahoo! Weather',
     'url': 'http://l.yimg.com/a/i/brand/purplelogo//uh/us/news-wea.gif',
     'width': '142'},
    'item': {'condition': {'code': '30',
      'date': 'Sun, 20 Aug 2017 06:00 PM PDT',
      'temp': '80',
      'text': 'Partly Cloudy'},
     'description': '<![CDATA[<img src="http://l.yimg.com/a/i/us/we/52/30.gif"/>\n<BR />\n<b>Current Conditions:</b>\n<BR />Partly Cloudy\n<BR />\n<BR />\n<b>Forecast:</b>\n<BR /> Sun - Partly Cloudy. High: 82Low: 55\n<BR /> Mon - Mostly Sunny. High: 88Low: 58\n<BR /> Tue - Sunny. High: 88Low: 61\n<BR /> Wed - Partly Cloudy. High: 78Low: 59\n<BR /> Thu - Partly Cloudy. High: 72Low: 57\n<BR />\n<BR />\n<a href="http://us.rd.yahoo.com/dailynews/rss/weather/Country__Country/*https://weather.yahoo.com/country/state/city-2475687/">Full Forecast at Yahoo! Weather</a>\n<BR />\n<BR />\n<BR />\n]]>',
     'forecast': [{'code': '30',
       'date': '20 Aug 2017',
       'day': 'Sun',
       'high': '82',
       'low': '55',
       'text': 'Partly Cloudy'},
      {'code': '34',
       'date': '21 Aug 2017',
       'day': 'Mon',
       'high': '88',
       'low': '58',
       'text': 'Mostly Sunny'},
      {'code': '32',
       'date': '22 Aug 2017',
       'day': 'Tue',
       'high': '88',
       'low': '61',
       'text': 'Sunny'},
      {'code': '30',
       'date': '23 Aug 2017',
       'day': 'Wed',
       'high': '78',
       'low': '59',
       'text': 'Partly Cloudy'},
      {'code': '30',
       'date': '24 Aug 2017',
       'day': 'Thu',
       'high': '72',
       'low': '57',
       'text': 'Partly Cloudy'},
      {'code': '32',
       'date': '25 Aug 2017',
       'day': 'Fri',
       'high': '80',
       'low': '53',
       'text': 'Sunny'},
      {'code': '32',
       'date': '26 Aug 2017',
       'day': 'Sat',
       'high': '88',
       'low': '57',
       'text': 'Sunny'},
      {'code': '32',
       'date': '27 Aug 2017',
       'day': 'Sun',
       'high': '91',
       'low': '59',
       'text': 'Sunny'},
      {'code': '34',
       'date': '28 Aug 2017',
       'day': 'Mon',
       'high': '87',
       'low': '61',
       'text': 'Mostly Sunny'},
      {'code': '34',
       'date': '29 Aug 2017',
       'day': 'Tue',
       'high': '86',
       'low': '60',
       'text': 'Mostly Sunny'}],
     'guid': {'isPermaLink': 'false'},
     'lat': '45.536701',
     'link': 'http://us.rd.yahoo.com/dailynews/rss/weather/Country__Country/*https://weather.yahoo.com/country/state/city-2475687/',
     'long': '-122.650841',
     'pubDate': 'Sun, 20 Aug 2017 06:00 PM PDT',
     'title': 'Conditions for Portland, OR, US at 06:00 PM PDT'},
    'language': 'en-us',
    'lastBuildDate': 'Sun, 20 Aug 2017 07:10 PM PDT',
    'link': 'http://us.rd.yahoo.com/dailynews/rss/weather/Country__Country/*https://weather.yahoo.com/country/state/city-2475687/',
    'location': {'city': 'Portland',
     'country': 'United States',
     'region': ' OR'},
    'title': 'Yahoo! Weather - Portland, OR, US',
    'ttl': '60',
    'units': {'distance': 'mi',
     'pressure': 'in',
     'speed': 'mph',
     'temperature': 'F'},
    'wind': {'chill': '81', 'direction': '335', 'speed': '14'}}}}}
In [60]:
yahoo_weather_df = pd.read_json(yahoo_weather_filepath)
yahoo_weather_df
Out[60]:
query
count 1
created 2017-08-21T02:10:33Z
diagnostics {'service-time': '4', 'user-time': '6', 'publi...
lang en-US
results {'channel': {'title': 'Yahoo! Weather - Portla...

As you can see, the yahoo json is very hiearchical. Let's take a look at query.results.

In [61]:
with open(yahoo_weather_filepath) as json_file:
  raw_json = json.load(json_file)

yahoo_weather_df = json_normalize(raw_json['query']['results']) 
yahoo_weather_df
Out[61]:
channel.astronomy.sunrise channel.astronomy.sunset channel.atmosphere.humidity channel.atmosphere.pressure channel.atmosphere.rising channel.atmosphere.visibility channel.description channel.image.height channel.image.link channel.image.title ... channel.location.region channel.title channel.ttl channel.units.distance channel.units.pressure channel.units.speed channel.units.temperature channel.wind.chill channel.wind.direction channel.wind.speed
0 6:17 am 8:10 pm 39 1008.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 81 335 14

1 rows × 39 columns

In [62]:
yahoo_weather_df.dtypes
Out[62]:
channel.astronomy.sunrise        object
channel.astronomy.sunset         object
channel.atmosphere.humidity      object
channel.atmosphere.pressure      object
channel.atmosphere.rising        object
channel.atmosphere.visibility    object
channel.description              object
channel.image.height             object
channel.image.link               object
channel.image.title              object
channel.image.url                object
channel.image.width              object
channel.item.condition.code      object
channel.item.condition.date      object
channel.item.condition.temp      object
channel.item.condition.text      object
channel.item.description         object
channel.item.forecast            object
channel.item.guid.isPermaLink    object
channel.item.lat                 object
channel.item.link                object
channel.item.long                object
channel.item.pubDate             object
channel.item.title               object
channel.language                 object
channel.lastBuildDate            object
channel.link                     object
channel.location.city            object
channel.location.country         object
channel.location.region          object
channel.title                    object
channel.ttl                      object
channel.units.distance           object
channel.units.pressure           object
channel.units.speed              object
channel.units.temperature        object
channel.wind.chill               object
channel.wind.direction           object
channel.wind.speed               object
dtype: object
In [63]:
# source: https://stackoverflow.com/questions/15891038/pandas-change-data-type-of-columns
yahoo_weather_df = yahoo_weather_df.apply(pd.to_numeric, errors='ignore')
yahoo_weather_df.dtypes
Out[63]:
channel.astronomy.sunrise         object
channel.astronomy.sunset          object
channel.atmosphere.humidity        int64
channel.atmosphere.pressure      float64
channel.atmosphere.rising          int64
channel.atmosphere.visibility    float64
channel.description               object
channel.image.height               int64
channel.image.link                object
channel.image.title               object
channel.image.url                 object
channel.image.width                int64
channel.item.condition.code        int64
channel.item.condition.date       object
channel.item.condition.temp        int64
channel.item.condition.text       object
channel.item.description          object
channel.item.forecast             object
channel.item.guid.isPermaLink     object
channel.item.lat                 float64
channel.item.link                 object
channel.item.long                float64
channel.item.pubDate              object
channel.item.title                object
channel.language                  object
channel.lastBuildDate             object
channel.link                      object
channel.location.city             object
channel.location.country          object
channel.location.region           object
channel.title                     object
channel.ttl                        int64
channel.units.distance            object
channel.units.pressure            object
channel.units.speed               object
channel.units.temperature         object
channel.wind.chill                 int64
channel.wind.direction             int64
channel.wind.speed                 int64
dtype: object
In [64]:
yahoo_weather_df['channel.item.condition.date'] = pd.to_datetime(yahoo_weather_df['channel.item.condition.date'])
yahoo_weather_df.dtypes
Out[64]:
channel.astronomy.sunrise                object
channel.astronomy.sunset                 object
channel.atmosphere.humidity               int64
channel.atmosphere.pressure             float64
channel.atmosphere.rising                 int64
channel.atmosphere.visibility           float64
channel.description                      object
channel.image.height                      int64
channel.image.link                       object
channel.image.title                      object
channel.image.url                        object
channel.image.width                       int64
channel.item.condition.code               int64
channel.item.condition.date      datetime64[ns]
channel.item.condition.temp               int64
channel.item.condition.text              object
channel.item.description                 object
channel.item.forecast                    object
channel.item.guid.isPermaLink            object
channel.item.lat                        float64
channel.item.link                        object
channel.item.long                       float64
channel.item.pubDate                     object
channel.item.title                       object
channel.language                         object
channel.lastBuildDate                    object
channel.link                             object
channel.location.city                    object
channel.location.country                 object
channel.location.region                  object
channel.title                            object
channel.ttl                               int64
channel.units.distance                   object
channel.units.pressure                   object
channel.units.speed                      object
channel.units.temperature                object
channel.wind.chill                        int64
channel.wind.direction                    int64
channel.wind.speed                        int64
dtype: object
There's more that can be done here, but the position (lat, lon) are numeric now, so we can augment our map.
In [65]:
for index, row in yahoo_weather_df.iterrows():
    lat = row['channel.item.lat']
    lon = row['channel.item.long']
    LatLonStr = "(%f, %f)" % (lat, lon)
                              
    thePopUp = row['channel.title'] + " " + LatLonStr
    folium.CircleMarker([lat, lon], popup=thePopUp, color='#3186cc', fill_color='#3186cc', radius=5).add_to(map_osm)

map_osm
Out[65]:
In [66]:
top_folder = jsondir + "/yahoo_weather"
first_time = True

for filename in os.listdir(top_folder):
    filepath = top_folder + "/" + filename

    # print ("about to read " + filename)
    with open(filepath) as json_file:
      raw_json = json.load(json_file)

    new_df = json_normalize(raw_json['query']['results'])
    
    if (first_time):
        first_time = False
        multi_yahoo_weather_df = new_df
    else:
        multi_yahoo_weather_df = multi_yahoo_weather_df.append(new_df, ignore_index=True)

multi_yahoo_weather_df = multi_yahoo_weather_df.apply(pd.to_numeric, errors='ignore')
multi_yahoo_weather_df['channel.item.condition.date'] =  pd.to_datetime(multi_yahoo_weather_df['channel.item.condition.date'])
multi_yahoo_weather_df
Out[66]:
channel.astronomy.sunrise channel.astronomy.sunset channel.atmosphere.humidity channel.atmosphere.pressure channel.atmosphere.rising channel.atmosphere.visibility channel.description channel.image.height channel.image.link channel.image.title ... channel.location.region channel.title channel.ttl channel.units.distance channel.units.pressure channel.units.speed channel.units.temperature channel.wind.chill channel.wind.direction channel.wind.speed
0 6:18 am 8:8 pm 84 1010.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 61 350 7
1 6:18 am 8:8 pm 82 1010.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 63 0 7
2 6:17 am 8:10 pm 39 1008.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 81 335 14
3 6:18 am 8:8 pm 75 1009.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 66 335 7
4 6:18 am 8:8 pm 68 1009.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 68 350 11
5 6:18 am 8:8 pm 35 1004.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 88 335 18
6 6:18 am 8:8 pm 81 1010.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 63 350 7
7 6:18 am 8:8 pm 41 1005.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 84 340 18
8 6:17 am 8:10 pm 67 1009.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 70 335 11
9 6:18 am 8:8 pm 31 1004.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 90 340 22
10 6:18 am 8:8 pm 85 1009.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 61 0 7
11 6:18 am 8:8 pm 67 1009.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 70 335 11
12 6:18 am 8:8 pm 35 1004.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 88 335 18
13 6:18 am 8:8 pm 45 1006.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 81 340 14
14 6:17 am 8:10 pm 42 1008.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 79 325 14
15 6:17 am 8:10 pm 49 1008.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 77 320 14
16 6:18 am 8:8 pm 33 1003.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 88 330 18
17 6:18 am 8:8 pm 75 1009.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 64 0 7
18 6:18 am 8:8 pm 31 1004.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 90 340 22
19 6:18 am 8:8 pm 38 1003.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 82 330 18
20 6:17 am 8:10 pm 42 1008.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 79 325 14
21 6:18 am 8:8 pm 68 1009.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 68 350 11
22 6:18 am 8:8 pm 57 1007.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 73 340 11
23 6:18 am 8:8 pm 33 1003.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 88 330 18
24 6:17 am 8:10 pm 62 1009.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 72 325 11
25 6:18 am 8:8 pm 32 1004.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 90 335 22
26 6:18 am 8:8 pm 82 1010.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 63 0 7
27 6:18 am 8:8 pm 70 1008.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 66 350 11
28 6:18 am 8:8 pm 73 1009.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 66 340 11
29 6:18 am 8:8 pm 85 1009.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 61 0 7
30 6:18 am 8:8 pm 52 1007.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 77 340 11
31 6:17 am 8:10 pm 62 1009.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 72 325 11
32 6:18 am 8:8 pm 57 1007.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 73 340 11
33 6:18 am 8:8 pm 89 1009.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 57 0 7
34 6:18 am 8:8 pm 89 1010.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 57 0 7
35 6:17 am 8:10 pm 49 1008.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 77 320 14
36 6:18 am 8:8 pm 81 1010.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 63 350 7
37 6:18 am 8:8 pm 90 1009.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 57 0 7
38 6:18 am 8:8 pm 75 1009.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 64 0 7
39 6:18 am 8:8 pm 89 1009.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 57 0 7
40 6:17 am 8:10 pm 39 1008.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 81 335 14
41 6:18 am 8:8 pm 89 1010.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 57 0 7
42 6:18 am 8:8 pm 73 1009.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 66 340 11
43 6:18 am 8:8 pm 84 1010.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 61 350 7
44 6:18 am 8:8 pm 90 1009.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 57 0 7
45 6:18 am 8:8 pm 38 1003.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 82 330 18
46 6:18 am 8:8 pm 70 1008.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 66 350 11
47 6:18 am 8:8 pm 75 1009.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 66 335 7
48 6:18 am 8:8 pm 41 1005.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 84 340 18
49 6:17 am 8:10 pm 57 1008.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 73 325 14
50 6:18 am 8:8 pm 52 1007.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 77 340 11
51 6:18 am 8:8 pm 32 1004.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 90 335 22
52 6:18 am 8:8 pm 45 1006.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 81 340 14
53 6:17 am 8:10 pm 62 1009.0 0 16.1 Yahoo! Weather for Portland, OR, US 18 http://weather.yahoo.com Yahoo! Weather ... OR Yahoo! Weather - Portland, OR, US 60 mi in mph F 72 325 11

54 rows × 39 columns

In [67]:
multi_yahoo_weather_df.shape
Out[67]:
(54, 39)

Merging Weather Data

We have weather data from two different sources - Yahoo and WSDOT. To merge them in a meaninful way, we need to find common fields, and use them to constructe a new merged dataframe.

From WSDOOT we have:

In [68]:
clean_multi_wsdot_weather_df.dtypes
Out[68]:
BarometricPressure                float64
Latitude                          float64
Longitude                         float64
PrecipitationInInches              object
ReadingTime                        object
RelativeHumidity                  float64
SkyCoverage                        object
StationID                           int64
StationName                        object
TemperatureInFahrenheit           float64
Visibility                         object
WindDirection                     float64
WindDirectionCardinal              object
WindGustSpeedInMPH                float64
WindSpeedInMPH                    float64
ReadingTime_timestamp      datetime64[ns]
dtype: object

... and from Yahoo

In [69]:
multi_yahoo_weather_df.dtypes
Out[69]:
channel.astronomy.sunrise                object
channel.astronomy.sunset                 object
channel.atmosphere.humidity               int64
channel.atmosphere.pressure             float64
channel.atmosphere.rising                 int64
channel.atmosphere.visibility           float64
channel.description                      object
channel.image.height                      int64
channel.image.link                       object
channel.image.title                      object
channel.image.url                        object
channel.image.width                       int64
channel.item.condition.code               int64
channel.item.condition.date      datetime64[ns]
channel.item.condition.temp               int64
channel.item.condition.text              object
channel.item.description                 object
channel.item.forecast                    object
channel.item.guid.isPermaLink            object
channel.item.lat                        float64
channel.item.link                        object
channel.item.long                       float64
channel.item.pubDate                     object
channel.item.title                       object
channel.language                         object
channel.lastBuildDate                    object
channel.link                             object
channel.location.city                    object
channel.location.country                 object
channel.location.region                  object
channel.title                            object
channel.ttl                               int64
channel.units.distance                   object
channel.units.pressure                   object
channel.units.speed                      object
channel.units.temperature                object
channel.wind.chill                        int64
channel.wind.direction                    int64
channel.wind.speed                        int64
dtype: object

Assembling common fields across both data frames gives us:

WSDOT Yahoo
StationName channel.title
Latitude channel.item.lat
Longitude channel.item.long
ReadingTime_timestamp channel.item.condition.date
BarometricPressure channel.atmosphere.pressure
RelativeHumidity channel.atmosphere.humidity
TemperatureInFahrenheit channel.item.condition.temp
WindDirection channel.wind.direction
WindSpeedInMPH channel.wind.speed
Visibility channel.atmosphere.visibility

The Yahoo dataframe is only one row, so we'll start with that one. Select the columns we want, then rename them to match the WSDOT dataframe

In [70]:
merged_weather_df = multi_yahoo_weather_df[['channel.title', 
                                      'channel.item.lat', 
                                      'channel.item.lat',
                                      'channel.item.condition.date',
                                      'channel.atmosphere.pressure',
                                      'channel.atmosphere.humidity',
                                      'channel.item.condition.temp',
                                      'channel.wind.direction',
                                      'channel.wind.speed',
                                      'channel.atmosphere.visibility'
                                     ]]

merged_weather_df.columns = ['StationName', 
                             'Latitude', 
                             'Longitude',
                             'ReadingTime_timestamp',
                             'BarometricPressure',
                             'RelativeHumidity',
                             'TemperatureInFahrenheit',
                             'WindDirection',
                             'WindSpeedInMPH',
                             'Visibility'                             
                            ]

merged_weather_df.head()
Out[70]:
StationName Latitude Longitude ReadingTime_timestamp BarometricPressure RelativeHumidity TemperatureInFahrenheit WindDirection WindSpeedInMPH Visibility
0 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 10:00:00 1010.0 84 61 350 7 16.1
1 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 15:00:00 1010.0 82 62 0 7 16.1
2 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 01:00:00 1008.0 39 80 335 14 16.1
3 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 08:00:00 1009.0 75 66 335 7 16.1
4 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 17:00:00 1009.0 68 67 350 11 16.1
In [71]:
merged_weather_df = merged_weather_df.append(clean_multi_wsdot_weather_df[['StationName', 
                                                               'Latitude', 
                                                               'Longitude',
                                                               'ReadingTime_timestamp',
                                                               'BarometricPressure',
                                                               'RelativeHumidity',
                                                               'TemperatureInFahrenheit',
                                                               'WindDirection',
                                                               'WindSpeedInMPH',
                                                               'Visibility'
                                                              ]])


merged_weather_df
Out[71]:
StationName Latitude Longitude ReadingTime_timestamp BarometricPressure RelativeHumidity TemperatureInFahrenheit WindDirection WindSpeedInMPH Visibility
0 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 10:00:00 1010.0 84.0 61.0 350.0 7.0 16.1
1 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 15:00:00 1010.0 82.0 62.0 0.0 7.0 16.1
2 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 01:00:00 1008.0 39.0 80.0 335.0 14.0 16.1
3 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 08:00:00 1009.0 75.0 66.0 335.0 7.0 16.1
4 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 17:00:00 1009.0 68.0 67.0 350.0 11.0 16.1
5 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 23:00:00 1004.0 35.0 88.0 335.0 18.0 16.1
6 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 09:00:00 1010.0 81.0 63.0 350.0 7.0 16.1
7 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 22:00:00 1005.0 41.0 84.0 340.0 18.0 16.1
8 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 06:00:00 1009.0 67.0 69.0 335.0 11.0 16.1
9 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-22 00:00:00 1004.0 31.0 90.0 340.0 22.0 16.1
10 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 11:00:00 1009.0 85.0 60.0 0.0 7.0 16.1
11 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 06:00:00 1009.0 67.0 69.0 335.0 11.0 16.1
12 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 23:00:00 1004.0 35.0 88.0 335.0 18.0 16.1
13 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 21:00:00 1006.0 45.0 81.0 340.0 14.0 16.1
14 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 02:00:00 1008.0 42.0 79.0 325.0 14.0 16.1
15 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 03:00:00 1008.0 49.0 76.0 320.0 14.0 16.1
16 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-22 02:00:00 1003.0 33.0 88.0 330.0 18.0 16.1
17 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 16:00:00 1009.0 75.0 65.0 0.0 7.0 16.1
18 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-22 00:00:00 1004.0 31.0 90.0 340.0 22.0 16.1
19 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-22 03:00:00 1003.0 38.0 83.0 330.0 18.0 16.1
20 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 02:00:00 1008.0 42.0 79.0 325.0 14.0 16.1
21 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 17:00:00 1009.0 68.0 67.0 350.0 11.0 16.1
22 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 19:00:00 1007.0 57.0 73.0 340.0 11.0 16.1
23 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-22 02:00:00 1003.0 33.0 88.0 330.0 18.0 16.1
24 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 05:00:00 1009.0 62.0 71.0 325.0 11.0 16.1
25 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-22 01:00:00 1004.0 32.0 90.0 335.0 22.0 16.1
26 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 15:00:00 1010.0 82.0 62.0 0.0 7.0 16.1
27 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 18:00:00 1008.0 70.0 67.0 350.0 11.0 16.1
28 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 07:00:00 1009.0 73.0 67.0 340.0 11.0 16.1
29 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 11:00:00 1009.0 85.0 60.0 0.0 7.0 16.1
... ... ... ... ... ... ... ... ... ... ...
40901 Metaline Fall on SR31@MP16.69 48.876000 -117.348300 2017-08-14 11:52:04 NaN 97.0 67.0 10.0 1.0 None
40902 I-90 at Sunset 47.532000 -121.985000 2017-08-14 12:30:42 995.9 NaN NaN 150.0 0.0 None
40903 Prosser 46.217600 -119.748900 2017-08-14 12:30:05 986.3 30.0 76.0 155.0 6.0 None
40904 Parker 46.538500 -120.471800 2017-08-14 12:21:27 975.2 27.0 77.0 128.0 0.0 None
40905 Union Gap 46.538400 -120.472000 2017-08-14 12:20:38 976.1 35.0 76.0 306.0 1.0 None
40906 Zillah 46.393000 -120.241100 2017-08-14 12:20:28 NaN 41.0 76.0 48.0 2.0 None
40907 Outlook 46.326600 -120.077900 2017-08-14 12:20:16 980.1 35.0 74.0 104.0 2.0 None
40908 Nisqually on I-5 @ MP 116 47.067700 -122.715800 2017-08-14 12:28:02 NaN 53.0 70.0 340.0 2.0 None
40909 Loup Loup Pass on SR 20 48.390400 -119.879200 2017-08-14 12:17:32 874.8 28.0 64.0 102.0 0.0 None
40910 Hood Canal Bridge 47.858400 -122.621600 2017-08-14 12:28:18 NaN 73.0 60.0 NaN NaN None
40911 MOUNT VERNON 48.446000 -122.432000 2017-08-14 12:30:44 1012.7 57.0 64.0 0.0 0.0 None
40912 SR526 INTERCHANGE 47.916300 -122.207200 2017-08-14 12:30:45 996.9 68.0 65.0 290.0 4.0 None
40913 SR2 @ I-5 INTERCHANGE EVERETT 47.980300 -122.188000 2017-08-14 12:30:47 903.3 1.0 68.0 245.0 2.0 None
40914 STILLIGUAMISH RIVER 48.204200 -122.214200 2017-08-14 12:30:47 1008.4 NaN NaN NaN NaN None
40915 INDEX GALENA ROAD 47.813900 -121.570900 2017-08-14 12:15:31 993.1 64.0 68.0 337.0 3.0 None
40916 SR240 @ Beloit 46.500278 -119.611667 2017-08-14 12:22:18 882.0 NaN 77.0 115.0 8.0 None
40917 SR240 @ Mid Hanford 46.467063 -119.541111 2017-08-14 12:22:22 NaN 27.0 77.0 125.0 10.0 None
40918 SR240 @ SR225 Horn Rd 46.383155 -119.422786 2017-08-14 12:22:25 NaN 31.0 78.0 120.0 6.0 None
40919 SR240 @ Twin Bridges 46.325574 -119.316126 2017-08-14 12:22:28 NaN 31.0 78.0 90.0 8.0 None
40920 SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-14 12:15:36 1008.6 49.0 70.0 310.0 1.0 None
40921 SR12 @ Frenchtown Rd MP 328.75 46.049483 -118.495917 2017-08-14 12:22:31 605.5 63.0 77.0 0.0 0.0 None
40922 I-5 at I-405 47.830967 -122.262359 2017-08-14 12:15:37 999.8 50.0 67.0 15.0 3.0 None
40923 GRAND MOUND 46.802261 -123.007164 2017-08-14 12:28:02 NaN 46.0 72.0 357.0 0.0 None
40924 SR 520 Bridge 47.640394 -122.258735 2017-08-14 12:24:00 29.8 51.0 68.0 320.0 11.0 None
40925 SR 7 @ SR 706 Elbe 46.763143 -122.192030 2017-08-14 12:28:03 969.9 61.0 64.0 330.0 2.0 None
40926 SR 539 at SR 546 (Badger Rd) 48.963854 -122.484913 2017-08-14 12:15:39 1009.8 57.0 66.0 240.0 3.0 None
40927 SR 539 at SR 544 (Pole Rd) 48.891981 -122.485690 2017-08-14 12:15:41 1010.5 56.0 67.0 200.0 3.0 None
40928 SR 522 at Main St 47.847409 -122.009760 2017-08-14 12:15:42 1009.8 49.0 66.0 345.0 3.0 None
40929 SR 167 at S 277th St 47.353395 -122.244567 2017-08-14 12:15:44 1011.8 49.0 69.0 280.0 6.0 None
40930 Tacoma Narrows Bridge 47.263826 -122.545658 2017-08-14 12:28:08 NaN NaN NaN 350.0 4.0 None

40985 rows × 10 columns

In [72]:
merged_1file_weather_df = yahoo_weather_df[['channel.title', 
                                      'channel.item.lat', 
                                      'channel.item.lat',
                                      'channel.item.condition.date',
                                      'channel.atmosphere.pressure',
                                      'channel.atmosphere.humidity',
                                      'channel.item.condition.temp',
                                      'channel.wind.direction',
                                      'channel.wind.speed',
                                      'channel.atmosphere.visibility'
                                     ]]

merged_1file_weather_df.columns = ['StationName', 
                             'Latitude', 
                             'Longitude',
                             'ReadingTime_timestamp',
                             'BarometricPressure',
                             'RelativeHumidity',
                             'TemperatureInFahrenheit',
                             'WindDirection',
                             'WindSpeedInMPH',
                             'Visibility'                             
                            ]

merged_1file_weather_df = merged_1file_weather_df.append(clean_wsdot_weather_df[['StationName', 
                                                               'Latitude', 
                                                               'Longitude',
                                                               'ReadingTime_timestamp',
                                                               'BarometricPressure',
                                                               'RelativeHumidity',
                                                               'TemperatureInFahrenheit',
                                                               'WindDirection',
                                                               'WindSpeedInMPH',
                                                               'Visibility'
                                                              ]])

merged_1file_weather_df
Out[72]:
StationName Latitude Longitude ReadingTime_timestamp BarometricPressure RelativeHumidity TemperatureInFahrenheit WindDirection WindSpeedInMPH Visibility
0 Yahoo! Weather - Portland, OR, US 45.536701 45.536701 2017-08-21 01:00:00 1008.0 39.0 80.0 335.0 14.0 16.1
0 SB I-5 144th 47.474800 -122.270400 2017-08-13 09:30:02 1010.1 59.0 71.0 355.0 7.0 None
1 SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-13 09:30:16 1014.8 57.0 68.0 65.0 2.0 None
2 EB I-90 @ SR-18 Echo Lake 47.509000 -121.885000 2017-08-13 09:30:08 981.5 67.0 68.0 125.0 2.0 None
3 130th Street 47.726000 -122.324000 2017-08-13 09:30:01 1002.6 64.0 67.0 235.0 0.0 None
4 Alpowa Summit 46.436000 -117.350000 2017-08-13 09:29:41 NaN 46.0 71.0 260.0 9.0 None
5 Rock Candy Mountain 47.033800 -123.097100 2017-08-13 09:30:00 NaN 52.0 70.0 181.0 4.0 None
6 Dryden Road 47.555500 -120.586600 2017-08-13 09:26:16 NaN 26.0 84.0 0.0 5.0 None
7 Easton Hill 47.269100 -121.239200 2017-08-13 09:25:32 NaN 49.0 66.0 5.0 5.0 None
8 Heckelville Shed 48.070300 -124.049000 2017-08-13 09:27:25 NaN 42.0 61.0 45.0 7.0 None
9 Manastash Ridge Eastbound 46.887000 -120.427000 2017-08-13 09:21:39 NaN 99.0 70.0 325.0 20.0 None
10 Manastash Ridge Westbound 46.928000 -120.500000 2017-08-13 09:21:55 NaN 36.0 74.0 285.0 20.0 None
11 Stampede Overpass 47.305082 -121.305688 2017-08-13 09:25:26 NaN 46.0 69.0 231.0 2.0 None
12 Rocky Canyon 47.078000 -120.724000 2017-08-13 09:21:12 NaN 35.0 75.0 305.0 21.0 None
13 Ryegrass Summit 46.943000 -120.165000 2017-08-13 09:22:08 NaN 24.0 72.0 185.0 32.0 None
14 Lake Samish Park and Ride 48.688000 -122.400000 2017-08-13 09:30:14 996.5 55.0 69.0 95.0 4.0 None
15 Stevens Pass 47.745900 -121.089100 2017-08-13 09:26:11 NaN NaN NaN NaN NaN None
16 SUMAS SR 9 AT FRONT ST (SR 547) 48.992000 -122.272000 2017-08-13 09:30:18 1013.7 49.0 72.0 0.0 6.0 None
17 Silica Road 47.043000 -119.916000 2017-08-13 09:30:04 NaN 26.0 80.0 280.0 16.0 None
18 Warden Interchange 47.085000 -119.006000 2017-08-13 09:30:10 NaN 40.0 81.0 170.0 11.0 None
19 Elk Heights 47.113000 -120.786000 2017-08-13 09:22:02 NaN 99.0 69.0 245.0 9.0 None
20 Diamond Point 48.050400 -122.952300 2017-08-13 08:33:14 NaN 47.0 65.0 290.0 10.0 None
21 Seibert Creek Bridge 48.093800 -123.278300 2017-08-13 09:30:04 NaN 68.0 61.0 239.0 13.0 None
22 Snoqualmie River Bridge 47.443500 -121.669400 2017-08-13 09:25:21 NaN 42.0 67.0 210.0 2.0 None
23 WB I-90 near Tanner Crossing 47.473000 -121.742000 2017-08-13 09:30:11 994.8 NaN NaN NaN NaN None
24 Alpental Exit 47.427000 -121.418000 2017-08-13 09:22:52 NaN 50.0 60.0 0.0 9.0 None
25 Blewett Pass 47.334800 -120.577100 2017-08-13 09:26:06 NaN 41.0 68.0 270.0 2.0 None
26 White Pass Summit 46.638000 -121.390000 2017-08-13 09:22:14 NaN 68.0 56.0 90.0 4.0 None
27 Palisades 47.301900 -120.067800 2017-08-13 09:27:02 NaN 24.0 84.0 15.0 13.0 None
28 Quincy Rest Area 47.233100 -119.958200 2017-08-13 09:27:08 NaN 83.0 82.0 145.0 7.0 None
... ... ... ... ... ... ... ... ... ... ...
72 Metaline Fall on SR31@MP16.69 48.876000 -117.348300 2017-08-13 08:51:49 NaN 51.0 67.0 170.0 5.0 None
73 I-90 at Sunset 47.532000 -121.985000 2017-08-13 09:30:21 998.8 NaN NaN 270.0 6.0 None
74 Prosser 46.217600 -119.748900 2017-08-13 09:30:05 987.3 35.0 84.0 291.0 6.0 None
75 Parker 46.538500 -120.471800 2017-08-13 09:21:28 976.6 25.0 82.0 95.0 7.0 None
76 Union Gap 46.538400 -120.472000 2017-08-13 09:20:39 977.4 26.0 82.0 291.0 6.0 None
77 Zillah 46.393000 -120.241100 2017-08-13 09:20:28 NaN 32.0 82.0 196.0 4.0 None
78 Outlook 46.326600 -120.077900 2017-08-13 09:20:16 981.4 35.0 83.0 270.0 0.0 None
79 Nisqually on I-5 @ MP 116 47.067700 -122.715800 2017-08-13 09:25:47 NaN 49.0 73.0 180.0 6.0 None
80 Loup Loup Pass on SR 20 48.390400 -119.879200 2017-08-13 09:18:09 874.1 28.0 71.0 246.0 0.0 None
81 Hood Canal Bridge 47.858400 -122.621600 2017-08-13 09:28:26 NaN 72.0 62.0 NaN NaN None
82 MOUNT VERNON 48.446000 -122.432000 2017-08-13 09:30:22 1015.6 49.0 67.0 0.0 0.0 None
83 SR526 INTERCHANGE 47.916300 -122.207200 2017-08-13 09:30:24 1000.2 82.0 65.0 330.0 9.0 None
84 SR2 @ I-5 INTERCHANGE EVERETT 47.980300 -122.188000 2017-08-13 09:30:25 924.1 2.0 70.0 280.0 9.0 None
85 STILLIGUAMISH RIVER 48.204200 -122.214200 2017-08-13 09:30:25 1012.0 NaN 68.0 340.0 0.0 None
86 INDEX GALENA ROAD 47.813900 -121.570900 2017-08-13 09:30:31 996.1 64.0 64.0 306.0 2.0 None
87 SR240 @ Beloit 46.500278 -119.611667 2017-08-13 09:22:16 882.0 NaN 83.0 310.0 7.0 None
88 SR240 @ Mid Hanford 46.467063 -119.541111 2017-08-13 09:22:17 NaN 29.0 85.0 295.0 9.0 None
89 SR240 @ SR225 Horn Rd 46.383155 -119.422786 2017-08-13 09:22:19 NaN 33.0 84.0 180.0 14.0 None
90 SR240 @ Twin Bridges 46.325574 -119.316126 2017-08-13 09:22:20 NaN 36.0 85.0 190.0 14.0 None
91 SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-13 09:30:36 1011.1 52.0 72.0 275.0 5.0 None
92 SR12 @ Frenchtown Rd MP 328.75 46.049483 -118.495917 2017-08-13 09:22:22 605.5 65.0 82.0 0.0 0.0 None
93 I-5 at I-405 47.830967 -122.262359 2017-08-13 09:30:38 1003.0 61.0 65.0 0.0 7.0 None
94 GRAND MOUND 46.802261 -123.007164 2017-08-13 09:25:46 NaN 52.0 71.0 292.0 6.0 None
95 SR 520 Bridge 47.640394 -122.258735 2017-08-13 09:24:00 29.9 60.0 68.0 332.0 13.0 None
96 SR 7 @ SR 706 Elbe 46.763143 -122.192030 2017-08-13 09:25:48 972.7 53.0 69.0 300.0 3.0 None
97 SR 539 at SR 546 (Badger Rd) 48.963854 -122.484913 2017-08-13 09:30:39 1011.2 52.0 72.0 225.0 9.0 None
98 SR 539 at SR 544 (Pole Rd) 48.891981 -122.485690 2017-08-13 09:30:41 1012.3 47.0 72.0 155.0 10.0 None
99 SR 522 at Main St 47.847409 -122.009760 2017-08-13 09:30:42 1012.9 60.0 67.0 5.0 6.0 None
100 SR 167 at S 277th St 47.353395 -122.244567 2017-08-13 09:30:44 1014.3 52.0 71.0 285.0 8.0 None
101 Tacoma Narrows Bridge 47.263826 -122.545658 2017-08-13 09:28:25 NaN NaN NaN 210.0 3.0 None

103 rows × 10 columns

Merging Traffic and Weather

We want to make a dataframe in which each row has traffic and weather data. We learned from mapping, that the traffic points are clustered on a few major freeways (I-5), while the weather points are scattered across the state. In order to make a meaninful data frame, each row will have the data from ne row out of the traffic dataframe, plus the weather coluns from a weather dataframe row that has a similar position and time stamp. In other words, each row shall have

  • Traffic conditions at a specfic location, date, and time
  • Weather conditions from a nearby weather station at a simlar date and time

Merging Traffic and Weather, pseudo code

# PSEUDO Code For each row in the traffic data frame ... extract its lat, lon Filter the weather dataframe, based on traffic's lat, lon, plus a bbox size Take the result, and filter again based on traffic row's timestamp, plus a "time box" with an upper and lower bound. Pick the first row out of the fully-filtered weather data (would be better to find the row with the shortest distance and smallest time-delta, but keep it simple Make a new dataframe, composed of the columns from the traffic row, plust the columns from the weather row.

Function to filter by spatial bounding box

In [73]:
# ----------------------------------------------------------------------
# FUNCTION: filter_by_bbox
#   inputs: dataframe, columns names, coordinates, boundgin box size.
#  outputs: new dataframe, containing only those rows whos latitude and longitude fit within the bbox.
# ----------------------------------------------------------------------

import pandas as pd

def filter_by_bbox(df, LATcolumn, LONcolumn, LATvalue, LONvalue, BBoxSize):
    # Set up the bbox variables
    lat_sml_enough = df[LATcolumn] <= LATvalue + BBoxSize
    lat_big_enough = df[LATcolumn] >= LATvalue - BBoxSize
    lon_sml_enough = df[LONcolumn] <= LONvalue + BBoxSize
    lon_big_enough = df[LONcolumn] >= LONvalue - BBoxSize

    return df[lat_sml_enough & lat_big_enough & lon_sml_enough & lon_big_enough]

Testing the Spatial Filter Function

Grab the location data form the first row of the cleaned WSDOT traffic data frame.

In [74]:
FilterLat = clean_multi_traffic_df['EndPoint.Latitude'].iloc[0]
FilterLon = clean_multi_traffic_df['EndPoint.Longitude'].iloc[0]

print (FilterLat)
print (FilterLon)
47.609294
-122.331759

Filter the dataframe for rows that are within 0.2 degrees of the first rrow. Print the row-count of the result

In [75]:
filtered_wsdot_draffic_df  = filter_by_bbox(clean_multi_traffic_df, 
                                            'EndPoint.Latitude', 
                                            'EndPoint.Longitude',
                                          FilterLat, FilterLon,
                                           0.2)
len (filtered_wsdot_draffic_df.index)
Out[75]:
28440

Compare the rowcount of the original dataframe

In [76]:
len(clean_multi_traffic_df.index)
Out[76]:
70998

Function to filter by timesamp

In [77]:
# ----------------------------------------------------------------------
# FUNCTION: filter_by_datetime
#   inputs: dataframe, name of datetime column, datetime value, 
#           optional args for timebox size in weeks, days, hours, minutes, second.
#  outputs: new dataframe, containing only those rows whos timesamp fits within the delta
# ----------------------------------------------------------------------
import pandas as pd
import datetime as dt

def filter_by_datetime(df, dt_column, dt_value,
                       delta_weeks=0, 
                       delta_days=0, 
                       delta_hours=0, 
                       delta_minutes=0, 
                       delta_seconds=0):

    timebox_upper = dt_value + dt.timedelta(weeks   = delta_weeks, 
                                                days    = delta_days,
                                                hours   = delta_hours,
                                                minutes = delta_minutes,
                                                seconds = delta_seconds)

    timebox_lower = dt_value - dt.timedelta(weeks   = delta_weeks, 
                                                days    = delta_days,
                                                hours   = delta_hours,
                                                minutes = delta_minutes,
                                                seconds = delta_seconds)

    within_timebox_upper = df[dt_column] <= timebox_upper
    within_timebox_lower = df[dt_column] >= timebox_lower
    
    return df[within_timebox_upper & within_timebox_lower]

Testing the timesamp Filter Function

Grab the timestamp form the first row of the Merged Weather dataframe (i.e. the onw with WSDOT and Yahoo weather in it.)

In [78]:
time1 = merged_weather_df['ReadingTime_timestamp'].iloc[0]
time1
Out[78]:
Timestamp('2017-08-21 10:00:00')

Filter the dataframe for rows that occured in the same hour. Print the row-count of the result

In [79]:
timefiltered_weather = filter_by_datetime(merged_weather_df, 'ReadingTime_timestamp', time1, delta_hours=1)
len(timefiltered_weather.index)
Out[79]:
408

Compare to the unfiltered record counts.

In [80]:
len(merged_weather_df.index)
Out[80]:
40985

Doing the Actual merge

# PSEUDO Code For each row in the traffic data frame ... extract its lat, lon Filter the weather dataframe, based on traffic's lat, lon, plus a bbox size Take the result, and filter again based on traffic row's timestamp, plus a "time box" with an upper and lower bound. Pick the first row out of the fully-filtered weather data (would be better to find the row with the shortest distance and smallest time-delta, but keep it simple Make a new dataframe, composed of the columns from the traffic row, plust the columns from the weather row.
In [81]:
clean_multi_traffic_df.dtypes
Out[81]:
AverageTime                        int64
CurrentTime                        int64
Description                       object
Distance                         float64
EndPoint.Description              object
EndPoint.Direction                object
EndPoint.Latitude                float64
EndPoint.Longitude               float64
EndPoint.MilePost                float64
EndPoint.RoadName                 object
Name                              object
StartPoint.Description            object
StartPoint.Direction              object
StartPoint.Latitude              float64
StartPoint.Longitude             float64
StartPoint.MilePost              float64
StartPoint.RoadName               object
TimeUpdated                       object
TravelTimeID                       int64
TimeUpdated_timestamp     datetime64[ns]
dtype: object
In [82]:
merged_weather_df.dtypes
Out[82]:
StationName                        object
Latitude                          float64
Longitude                         float64
ReadingTime_timestamp      datetime64[ns]
BarometricPressure                float64
RelativeHumidity                  float64
TemperatureInFahrenheit           float64
WindDirection                     float64
WindSpeedInMPH                    float64
Visibility                         object
dtype: object
In [83]:
clean_wsdot_traffic_df.dtypes
Out[83]:
AverageTime                        int64
CurrentTime                        int64
Description                       object
Distance                         float64
EndPoint.Description              object
EndPoint.Direction                object
EndPoint.Latitude                float64
EndPoint.Longitude               float64
EndPoint.MilePost                float64
EndPoint.RoadName                 object
Name                              object
StartPoint.Description            object
StartPoint.Direction              object
StartPoint.Latitude              float64
StartPoint.Longitude             float64
StartPoint.MilePost              float64
StartPoint.RoadName               object
TimeUpdated                       object
TravelTimeID                       int64
TimeUpdated_timestamp     datetime64[ns]
dtype: object
In [84]:
found_records = 0

# Iterate over the traffic rows
for index, row in clean_wsdot_traffic_df.iterrows():
    # gather some variables
    rowLat = row['StartPoint.Latitude']
    rowLon = row['StartPoint.Longitude']
    rowDateTime = row['TimeUpdated_timestamp']
    
    # find nearby weather readings
    nearby_weather  = filter_by_bbox(merged_weather_df, 'Latitude', 'Longitude', rowLat, rowLon, 0.2)
    
    # of the neraby readings, find thos which happened within 4 hours of the traffic data
    near_and_sametime_weather = filter_by_datetime(nearby_weather, 'ReadingTime_timestamp', rowDateTime, delta_minutes=15)
    
    records_found = len(near_and_sametime_weather.index)
    if (records_found > 0):
        print (records_found)
        found_records = found_records + 1
        
print ("-------")
print (len(clean_wsdot_traffic_df.index))
print (found_records)

# Dial in the timebox
# 0.2 deg; 4 hours 135 of 180, 30's 10's, 20's
# 0.2 deg; 1 hours 135 of 180, 4's 8's, 12's
# 0.2 deg; 30 min 135 of 180, 4's 8's, 12's
# 0.2 deg; 5 min 124 of 180, 2's and 3's
# 0.2 deg; 10 min 134 of 180, 2's and 3's
# 0.2 deg; 15 min 135 of 180, 2's and 5's

# 2's ad 5's pretty good; no need to dial in further on spatial sid.

    
6
4
4
4
4
2
2
4
6
4
6
5
5
5
5
5
5
4
4
4
5
4
5
4
7
4
7
7
6
4
6
4
6
4
4
8
8
6
6
5
4
5
4
7
7
6
6
4
8
8
8
8
4
4
6
5
5
6
6
2
4
2
4
8
4
8
4
8
4
8
4
4
4
4
4
4
4
4
4
4
4
8
8
3
3
1
2
1
1
3
5
1
4
4
4
4
4
6
7
4
4
6
6
4
3
6
6
4
4
4
8
8
6
5
5
4
4
5
2
2
1
5
4
5
5
5
5
1
1
5
5
5
4
4
4
-------
180
135
PSEUDO CODE V2 For each row in single-file-traffic dataframe (iterating by position, basically) Select rows from multi-file traffic (probably based on SationID or some other unique thing) # Now you have a bunch of traffic rows, all same location but different datetime Filter the weather data by spatial bbox # Now you have matching weather data, all in roughly the same place as the master traffic row For each selected traffic row (location is constant, iterating by datetime) Take the spatially-filtered weather, and filter further down by traffic df's datetime Grab the first weather-filtered row Concatenate the traffic row with the weather row
In [85]:
first_time = True
processed_rows = 0
processed_thousands = 0

# Iterate over the traffic rows from a single wsdot json file.
for index, traffic_onefile_row in clean_wsdot_traffic_df.iterrows():
    # Each row has a unigue location
    
    # Select rows from multi-file traffic,  based on TravelTimeID
    theTravelTimeID = traffic_onefile_row['TravelTimeID']
    filtered_traffic_byTravelTimeID_df = clean_multi_traffic_df.loc[
            clean_multi_traffic_df['TravelTimeID'] == theTravelTimeID]
    
    # Now we have filtered_traffic_byTravelTimeID_df, 
    # a bunch of traffic rows, all same location but different datetime 
    
    # Filter the weather data by spatial bbox, based on the traffic data
    rowLat = traffic_onefile_row['StartPoint.Latitude']
    rowLon = traffic_onefile_row['StartPoint.Longitude']
    bbox_halfsize_degrees = 0.2
    
    nearby_weather_df  = filter_by_bbox(merged_weather_df, 'Latitude', 'Longitude', 
                                     rowLat, rowLon, bbox_halfsize_degrees)
    
    # print(nearby_weather_df)
   
    # Now we have nearby_weather_df, a collection of weather records, both form WSDOT and Yahoo,
    # in roughly the same location as the current traffic row.

    # fastest way to get a record count
    # source: https://stackoverflow.com/questions/15943769/how-do-i-get-the-row-count-of-a-pandas-dataframe
    records_found = nearby_weather_df.shape[0]
    
    if (records_found > 0):
        # Now you have a bunch of weather records and traffic records in the same location, but both
        # vary by time
        
        # iterate over the selected traffic records
        for i2, filtered_traffic_row in filtered_traffic_byTravelTimeID_df.iterrows():
            # Find weather records in the same timeframe
            
            rowDateTime = filtered_traffic_row['TimeUpdated_timestamp']
            
            # Of the nearby readings, find those which happened within 15 minutes of the traffic data
            near_and_sametime_weather_df = filter_by_datetime(nearby_weather_df, 
                                                           'ReadingTime_timestamp', 
                                                           rowDateTime, delta_minutes=15)            
     
            # Now we have near_and_sametime_weather_df, a set of weather data which aligns to the 
            # same space and time as the crrent traffic row
             
            # fastest way to get a record count
            # source: https://stackoverflow.com/questions/15943769/how-do-i-get-the-row-count-of-a-pandas-dataframe
            weather_records_found = near_and_sametime_weather_df.shape[0]
                 
            # If we found any records, grab the first one and make a new dataframe
            if (weather_records_found > 0):
              
                weather_1row_df = near_and_sametime_weather_df.iloc[[0]].reset_index(drop=True)
                traffic_1row_df = pd.DataFrame([filtered_traffic_row]).reset_index(drop=True)
                  
                if (first_time):
                    first_time = False
                    # source: https://pandas.pydata.org/pandas-docs/stable/merging.html
                    merged_traffic_weather_df = pd.concat([traffic_1row_df, weather_1row_df], 
                                                          axis=1, join_axes=[traffic_1row_df.index])


                else:
                    new_merged_row_df = pd.concat([traffic_1row_df, weather_1row_df], 
                                                          axis=1, join_axes=[traffic_1row_df.index])

                    merged_traffic_weather_df = merged_traffic_weather_df.append(new_merged_row_df)
                                                    
                processed_rows = processed_rows + 1
                                    
                if (processed_rows == 1000):
                    processed_thousands = processed_thousands + 1
                    processed_rows = 0
                    print(processed_thousands)
        
merged_traffic_weather_df
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Out[85]:
AverageTime CurrentTime Description Distance EndPoint.Description EndPoint.Direction EndPoint.Latitude EndPoint.Longitude EndPoint.MilePost EndPoint.RoadName ... StationName Latitude Longitude ReadingTime_timestamp BarometricPressure RelativeHumidity TemperatureInFahrenheit WindDirection WindSpeedInMPH Visibility
0 43 46 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-15 00:00:30 1013.0 95.0 50.0 340.0 0.0 None
0 45 49 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-17 00:00:19 1020.0 79.0 60.0 155.0 0.0 None
0 27 27 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-20 15:30:17 1018.6 80.0 61.0 65.0 2.0 None
0 48 40 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-17 01:30:27 1020.7 79.0 61.0 155.0 1.0 None
0 53 50 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-16 11:00:23 1016.2 39.0 78.0 85.0 4.0 None
0 27 27 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-13 17:30:17 1015.5 70.0 59.0 165.0 1.0 None
0 28 27 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-16 17:30:16 1018.3 82.0 62.0 130.0 0.0 None
0 56 66 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-18 07:30:37 1019.3 47.0 78.0 245.0 4.0 None
0 28 27 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-20 18:00:24 1018.6 88.0 57.0 45.0 0.0 None
0 27 27 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-16 15:30:33 1017.6 81.0 64.0 130.0 1.0 None
0 28 28 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-14 04:00:22 1014.8 58.0 67.0 220.0 1.0 None
0 27 27 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-14 19:30:14 1012.3 92.0 51.0 340.0 0.0 None
0 50 46 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-17 00:30:16 1020.4 81.0 60.0 155.0 1.0 None
0 30 32 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-13 11:00:18 1014.8 61.0 66.0 85.0 4.0 None
0 35 34 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-18 01:00:24 1020.4 77.0 59.0 335.0 1.0 None
0 30 31 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-21 04:30:18 1018.3 60.0 71.0 10.0 1.0 None
0 28 27 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-13 19:30:16 1015.5 77.0 56.0 165.0 0.0 None
0 27 27 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-19 00:30:17 1021.4 77.0 58.0 180.0 0.0 None
0 32 34 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-18 12:30:24 1018.3 62.0 70.0 110.0 0.0 None
0 39 39 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-18 04:30:24 1020.0 54.0 72.0 260.0 3.0 None
0 27 27 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-15 17:01:20 1015.5 73.0 58.0 125.0 0.0 None
0 44 46 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-18 05:30:18 1019.7 49.0 75.0 300.0 1.0 None
0 27 27 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-14 14:00:15 1011.6 61.0 63.0 0.0 1.0 None
0 38 46 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-17 12:30:24 1019.0 57.0 71.0 85.0 6.0 None
0 30 27 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-14 22:00:25 1012.3 95.0 49.0 340.0 0.0 None
0 41 39 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-21 09:00:19 1015.5 34.0 83.0 110.0 5.0 None
0 37 36 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-13 23:30:16 1015.1 86.0 53.0 55.0 0.0 None
0 28 27 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-13 19:00:18 1015.5 79.0 55.0 165.0 0.0 None
0 27 27 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-13 14:00:16 1015.1 65.0 61.0 20.0 1.0 None
0 33 31 Everett to Downtown Seattle using HOV lanes 26.72 I-5 @ University St in Seattle S 47.609294 -122.331759 165.83 I-5 ... SB I-405 N.E. 195th 47.760633 -122.184048 2017-08-16 12:30:19 1016.2 53.0 73.0 145.0 1.0 None
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
0 13 13 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-20 13:30:33 1014.7 58.0 70.0 335.0 2.0 None
0 13 12 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-20 16:30:36 1015.7 70.0 65.0 345.0 1.0 None
0 28 30 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-17 09:17:15 1016.6 51.0 76.0 300.0 1.0 None
0 25 25 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-15 08:30:35 1010.4 36.0 76.0 300.0 4.0 None
0 14 13 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-13 11:30:42 1011.0 56.0 71.0 5.0 2.0 None
0 19 23 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-20 06:30:33 1015.8 44.0 73.0 265.0 2.0 None
0 13 12 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-16 20:00:42 1015.9 93.0 60.0 240.0 2.0 None
0 15 18 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-20 08:00:35 1015.1 46.0 74.0 300.0 2.0 None
0 20 18 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-16 04:46:42 1015.0 49.0 72.0 290.0 4.0 None
0 17 12 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-15 17:30:31 1012.4 67.0 61.0 50.0 0.0 None
0 20 23 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-19 09:00:49 1016.6 39.0 75.0 345.0 3.0 None
0 13 13 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-17 23:00:30 1017.2 94.0 56.0 150.0 1.0 None
0 13 12 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-14 18:30:41 1009.3 86.0 56.0 120.0 1.0 None
0 13 12 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-15 20:16:55 1013.5 77.0 57.0 120.0 1.0 None
0 27 24 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-17 11:00:38 1016.0 46.0 76.0 300.0 2.0 None
0 23 37 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-16 08:16:47 1014.1 37.0 80.0 210.0 1.0 None
0 24 26 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-14 11:00:36 1008.9 44.0 72.0 305.0 3.0 None
0 13 12 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-13 18:30:35 1012.6 61.0 62.0 310.0 1.0 None
0 25 22 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-14 08:00:35 1010.3 48.0 69.0 275.0 3.0 None
0 13 12 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-13 15:30:33 1012.6 64.0 63.0 330.0 1.0 None
0 14 13 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-17 23:30:37 1017.3 93.0 56.0 180.0 0.0 None
0 13 12 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-18 16:00:45 1016.1 70.0 67.0 270.0 3.0 None
0 16 17 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-15 16:30:37 1011.9 61.0 63.0 140.0 1.0 None
0 15 16 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-17 01:00:44 1017.9 95.0 61.0 195.0 1.0 None
0 24 36 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-16 08:46:49 1013.9 37.0 79.0 10.0 1.0 None
0 13 12 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-21 13:00:42 1010.9 45.0 76.0 320.0 1.0 None
0 21 27 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-17 04:00:42 1018.1 74.0 66.0 210.0 1.0 None
0 13 13 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-13 22:30:33 1012.5 82.0 56.0 185.0 2.0 None
0 21 20 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-16 06:16:54 1014.7 42.0 75.0 220.0 2.0 None
0 19 15 SB I-5 Pierce King County Line To SR 512 12.06 I-5 @ SR 512 in Lakewood S 47.161584 -122.481133 127.35 I-5 ... SR 18 @ C St, Auburn 47.303516 -122.232946 2017-08-15 04:30:34 1010.5 55.0 69.0 285.0 2.0 None

52975 rows × 30 columns

In [86]:
merged_traffic_weather_df.shape
Out[86]:
(52975, 30)
In [87]:
merged_traffic_weather_df.dtypes
Out[87]:
AverageTime                         int64
CurrentTime                         int64
Description                        object
Distance                          float64
EndPoint.Description               object
EndPoint.Direction                 object
EndPoint.Latitude                 float64
EndPoint.Longitude                float64
EndPoint.MilePost                 float64
EndPoint.RoadName                  object
Name                               object
StartPoint.Description             object
StartPoint.Direction               object
StartPoint.Latitude               float64
StartPoint.Longitude              float64
StartPoint.MilePost               float64
StartPoint.RoadName                object
TimeUpdated                        object
TravelTimeID                        int64
TimeUpdated_timestamp      datetime64[ns]
StationName                        object
Latitude                          float64
Longitude                         float64
ReadingTime_timestamp      datetime64[ns]
BarometricPressure                float64
RelativeHumidity                  float64
TemperatureInFahrenheit           float64
WindDirection                     float64
WindSpeedInMPH                    float64
Visibility                         object
dtype: object
In [88]:
merged_traffic_weather_df.describe()
Out[88]:
AverageTime CurrentTime Distance EndPoint.Latitude EndPoint.Longitude EndPoint.MilePost StartPoint.Latitude StartPoint.Longitude StartPoint.MilePost TravelTimeID Latitude Longitude BarometricPressure RelativeHumidity TemperatureInFahrenheit WindDirection WindSpeedInMPH
count 52975.000000 52975.000000 52975.000000 52975.000000 52975.000000 52975.000000 52975.000000 52975.000000 52975.000000 52975.000000 52975.000000 52975.000000 45720.000000 50403.000000 50845.000000 52844.000000 52844.000000
mean 17.074563 17.193771 14.266900 47.539409 -122.278633 100.559988 47.542048 -122.271978 100.772483 124.229070 47.496421 -122.255101 1007.520448 63.413309 66.010325 207.320263 3.146109
std 12.479495 12.720519 10.221312 0.241276 0.198895 72.298429 0.236383 0.198189 72.036815 120.398769 0.193569 0.206687 62.432078 17.089769 7.390346 128.307316 2.457561
min 0.000000 0.000000 0.000000 45.525600 -122.891484 0.110000 45.580300 -122.891484 0.110000 1.000000 45.569000 -123.033100 29.900000 1.000000 46.000000 0.000000 0.000000
25% 10.000000 10.000000 9.160000 47.334789 -122.331759 13.600000 47.334789 -122.331759 13.600000 34.000000 47.474800 -122.270400 1009.900000 51.000000 61.000000 85.000000 1.000000
50% 14.000000 14.000000 13.220000 47.609294 -122.269470 132.910000 47.609294 -122.269470 136.740000 77.000000 47.474800 -122.270400 1013.700000 63.000000 66.000000 245.000000 3.000000
75% 22.000000 22.000000 17.220000 47.613800 -122.188920 165.830000 47.613800 -122.188920 165.830000 266.000000 47.509000 -122.232946 1015.400000 77.000000 72.000000 325.000000 4.000000
max 78.000000 136.000000 78.560000 48.152323 -120.599140 302.170000 48.152323 -120.540695 205.870000 403.000000 48.204200 -120.427000 1022.700000 100.000000 86.000000 360.000000 23.000000
In [89]:
merged_traffic_weather_df[['AverageTime',
                    'CurrentTime',
                    'BarometricPressure',
                    'RelativeHumidity',
                    'TemperatureInFahrenheit',
                    'WindDirection',
                    'WindSpeedInMPH'
                    ]].describe()
Out[89]:
AverageTime CurrentTime BarometricPressure RelativeHumidity TemperatureInFahrenheit WindDirection WindSpeedInMPH
count 52975.000000 52975.000000 45720.000000 50403.000000 50845.000000 52844.000000 52844.000000
mean 17.074563 17.193771 1007.520448 63.413309 66.010325 207.320263 3.146109
std 12.479495 12.720519 62.432078 17.089769 7.390346 128.307316 2.457561
min 0.000000 0.000000 29.900000 1.000000 46.000000 0.000000 0.000000
25% 10.000000 10.000000 1009.900000 51.000000 61.000000 85.000000 1.000000
50% 14.000000 14.000000 1013.700000 63.000000 66.000000 245.000000 3.000000
75% 22.000000 22.000000 1015.400000 77.000000 72.000000 325.000000 4.000000
max 78.000000 136.000000 1022.700000 100.000000 86.000000 360.000000 23.000000
mini_df2.columns = ['StationName', 'Latitude', 'Longitude', 'ReadingTime_timestamp', 'BarometricPressure', 'RelativeHumidity', 'TemperatureInFahrenheit', 'WindDirection', 'WindSpeedInMPH', 'Visibility' ] merged_1file_weather_df = yahoo_weather_df[['channel.title', 'channel.item.lat', 'channel.item.lat', 'channel.item.condition.date', 'channel.atmosphere.pressure', 'channel.atmosphere.humidity', 'channel.item.condition.temp', 'channel.wind.direction', 'channel.wind.speed', 'channel.atmosphere.visibility' ]]
In [90]:
import numpy as np
chosen_idx = np.random.choice(52975, replace=False, size=2500)
# chosen_idx = np.random.choice(2752, replace=False, size=2752)
mini_df = merged_traffic_weather_df.iloc[chosen_idx]
mini_df2 = mini_df[['StationName',
                    'AverageTime',
                    'CurrentTime',
                    'Distance',
                    'EndPoint.Latitude',
                    'EndPoint.Longitude',
                    'EndPoint.MilePost',
                    'StartPoint.Latitude',
                    'StartPoint.Longitude',
                    'StartPoint.MilePost',
                    'Latitude',
                    'Longitude',
                    'BarometricPressure',
                    'RelativeHumidity',
                    'TemperatureInFahrenheit',
                    'WindDirection',
                    'WindSpeedInMPH'
                    ]]
In [91]:
mini_df2.describe()
Out[91]:
AverageTime CurrentTime Distance EndPoint.Latitude EndPoint.Longitude EndPoint.MilePost StartPoint.Latitude StartPoint.Longitude StartPoint.MilePost Latitude Longitude BarometricPressure RelativeHumidity TemperatureInFahrenheit WindDirection WindSpeedInMPH
count 2500.000000 2500.000000 2500.000000 2500.000000 2500.000000 2500.000000 2500.000000 2500.000000 2500.000000 2500.000000 2500.000000 2137.000000 2376.000000 2392.000000 2493.000000 2493.000000
mean 16.861200 16.941600 14.074484 47.533409 -122.283789 102.438048 47.534675 -122.276745 100.934328 47.487892 -122.259833 1008.085868 63.333333 66.019231 211.973927 3.198556
std 12.219954 12.439489 10.012230 0.247152 0.204675 71.701670 0.239431 0.192168 71.868052 0.195410 0.200969 57.055443 17.083769 7.453217 127.524541 2.492421
min 0.000000 0.000000 0.000000 45.525600 -122.891484 0.110000 45.580300 -122.891484 0.110000 45.569000 -123.033100 30.000000 1.000000 46.000000 0.000000 0.000000
25% 9.000000 9.000000 9.100000 47.334789 -122.331759 13.600000 47.334789 -122.331759 13.600000 47.474800 -122.270400 1009.900000 51.000000 61.000000 95.000000 1.000000
50% 15.000000 14.000000 13.100000 47.609294 -122.279109 134.090000 47.609294 -122.285137 136.740000 47.474800 -122.270400 1013.600000 63.000000 66.000000 260.000000 3.000000
75% 22.000000 22.000000 16.200000 47.613800 -122.188920 165.830000 47.613800 -122.188920 165.830000 47.474800 -122.232946 1015.300000 77.000000 72.000000 325.000000 4.000000
max 78.000000 84.000000 78.560000 48.152323 -120.599140 302.170000 48.152323 -120.540695 205.870000 47.980300 -120.427000 1021.400000 99.000000 83.000000 360.000000 18.000000
In [92]:
mini_df3 = mini_df2.dropna(how='any')
mini_df3.describe()
Out[92]:
AverageTime CurrentTime Distance EndPoint.Latitude EndPoint.Longitude EndPoint.MilePost StartPoint.Latitude StartPoint.Longitude StartPoint.MilePost Latitude Longitude BarometricPressure RelativeHumidity TemperatureInFahrenheit WindDirection WindSpeedInMPH
count 2103.000000 2103.000000 2103.000000 2103.000000 2103.000000 2103.000000 2103.000000 2103.000000 2103.000000 2103.000000 2103.000000 2103.000000 2103.000000 2103.000000 2103.000000 2103.000000
mean 17.082263 17.067523 14.204413 47.569343 -122.257030 103.584917 47.575650 -122.252984 100.877190 47.524708 -122.229324 1008.126201 63.351878 65.878269 214.429862 3.151688
std 11.562365 11.790238 9.127310 0.210759 0.183833 73.108741 0.195073 0.096919 74.025876 0.144867 0.086008 57.513549 17.006094 7.455955 128.223994 2.486176
min 0.000000 0.000000 0.000000 47.011288 -122.759508 0.110000 47.229950 -122.442040 0.110000 47.303516 -122.324000 30.000000 1.000000 46.000000 0.000000 0.000000
25% 10.000000 10.000000 9.480000 47.463303 -122.331759 13.600000 47.458000 -122.331759 13.600000 47.474800 -122.270400 1010.000000 51.000000 60.500000 92.500000 1.000000
50% 15.000000 15.000000 13.330000 47.609294 -122.265700 143.640000 47.609294 -122.265480 139.410000 47.474800 -122.270400 1013.700000 63.000000 65.000000 275.000000 3.000000
75% 22.000000 22.000000 17.220000 47.613800 -122.188920 165.830000 47.613800 -122.188920 165.830000 47.509000 -122.184048 1015.300000 77.000000 72.000000 330.000000 4.000000
max 78.000000 84.000000 74.900000 48.152323 -120.599140 205.870000 48.152323 -121.751422 205.870000 47.980300 -121.885000 1021.400000 98.000000 83.000000 355.000000 11.000000
import seaborn as sns sns.set(style="ticks") df = sns.load_dataset("iris") sns.pairplot(df, hue="species")
In [93]:
import seaborn as sns
sns.set(style="ticks")

sns.pairplot(mini_df2, hue="StationName")
/home/vagrant/anaconda3/envs/geopandas_pip_altiair/lib/python3.5/site-packages/numpy/lib/function_base.py:748: RuntimeWarning: invalid value encountered in greater_equal
  keep = (tmp_a >= mn)
/home/vagrant/anaconda3/envs/geopandas_pip_altiair/lib/python3.5/site-packages/numpy/lib/function_base.py:749: RuntimeWarning: invalid value encountered in less_equal
  keep &= (tmp_a <= mx)
Out[93]:
<seaborn.axisgrid.PairGrid at 0x7f535cd30198>
mini_df2 = mini_df[['StationName', 'AverageTime', 'CurrentTime', 'Distance', 'EndPoint.Latitude', 'EndPoint.Longitude', 'EndPoint.MilePost', 'StartPoint.Latitude', 'StartPoint.Longitude', 'StartPoint.MilePost', 'Latitude', 'Longitude', 'BarometricPressure', ]]
In [94]:
# something interesting in the last 5x5 columns
mini_df4 = mini_df[['StationName',
                    'AverageTime',
                    'CurrentTime',
                    'BarometricPressure',
                    'RelativeHumidity',
                    'TemperatureInFahrenheit',
                    'WindDirection',
                    'WindSpeedInMPH'
                    ]]

sns.pairplot(mini_df4, hue="StationName")
/home/vagrant/anaconda3/envs/geopandas_pip_altiair/lib/python3.5/site-packages/numpy/lib/function_base.py:748: RuntimeWarning: invalid value encountered in greater_equal
  keep = (tmp_a >= mn)
/home/vagrant/anaconda3/envs/geopandas_pip_altiair/lib/python3.5/site-packages/numpy/lib/function_base.py:749: RuntimeWarning: invalid value encountered in less_equal
  keep &= (tmp_a <= mx)
Out[94]:
<seaborn.axisgrid.PairGrid at 0x7f5340421f60>